26 lines
957 B
JavaScript
26 lines
957 B
JavaScript
const router = require("express").Router();
|
|
const auth = require("../middleware/auth");
|
|
const requireRole = require("../middleware/rbac");
|
|
const usersController = require("../controllers/users.controller");
|
|
const { ROLES } = require("../models/user.model");
|
|
const { createRateLimit } = require("../middleware/rate-limit");
|
|
|
|
const userExistsRateLimit = createRateLimit({
|
|
keyPrefix: "users:exists",
|
|
windowMs: 15 * 60 * 1000,
|
|
max: 60,
|
|
message: "Too many availability checks. Please try again later.",
|
|
});
|
|
|
|
router.get("/exists", userExistsRateLimit, usersController.checkIfUserExists);
|
|
if (process.env.NODE_ENV !== "production") {
|
|
router.get("/test", usersController.test);
|
|
}
|
|
|
|
// Current user profile routes (authenticated)
|
|
router.get("/me", auth, usersController.getCurrentUser);
|
|
router.patch("/me", auth, usersController.updateCurrentUser);
|
|
router.post("/me/change-password", auth, usersController.changePassword);
|
|
|
|
module.exports = router;
|