You pass route initialization as an intermediate product
app.use('/user', authMiddleware, userRoutes(app));
In this line of code, which was supposed to return userRoutes(app)
, wasfunction(req,res[,next]){}
It should be like
app.use('/user', authMiddleware, (req, res, next) => {
userRoutes(app);
next()
})
and what are you doing,
app.use('/user', authMiddleware, (app) => {
app.route('/user/signup').post(register);
app.route('/user/login').post(login);
})
what is wrong
, , , , http://localhost/user
, .
, , ,
...
import userRoutes from './src/routes/userRoutes';
import invoicesRoutes from './src/routes/invoicesRoutes';
...
const app = express();
userRoutes(app);
invoicesRoutes(app);
import { register, login } from '../controllers/authController';
import authMiddleware from "./middleware";
const userRoutes = (app) => {
app.post('/user/signup', authMiddleware, register);
app.post('/user/login', authMiddleware, login);
};
export default userRoutes;