-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathuserRoutes.js
More file actions
25 lines (19 loc) · 869 Bytes
/
Copy pathuserRoutes.js
File metadata and controls
25 lines (19 loc) · 869 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import express from "express"
import { checkAuth, login, signup, updateProfile, getChatbotResponse } from "../controllers/userController.js";
import { protectRoute } from "../middleware/auth.js";
import rateLimit from "express-rate-limit";
const userRouter=express.Router();
//Rate limiter for auth routes - 10 attempts per 15 minutes per IP
const authLimiter = rateLimit({
windowMs: 15 * 60 * 1000,
max: 10,
message: { success: false, message: "Too many attempts. Please try again after 15 minutes." },
standardHeaders: true,
legacyHeaders: false,
});
userRouter.post('/signup',authLimiter,signup);
userRouter.post('/login',authLimiter,login);
userRouter.put('/update-profile',protectRoute,updateProfile);
userRouter.get('/check',protectRoute,checkAuth);
userRouter.post('/chatbot',protectRoute,getChatbotResponse);
export default userRouter;