Files
Checkmate/Server/routes/authRoute.js
T

50 lines
1.3 KiB
JavaScript
Raw Normal View History

2024-05-15 12:16:04 -07:00
const router = require("express").Router();
2024-05-27 11:57:25 -07:00
const { verifyJWT } = require("../middleware/verifyJWT");
2024-07-04 11:39:18 +03:30
const { verifyOwnership } = require("../middleware/verifyOwnership");
const { isAllowed } = require("../middleware/isAllowed");
const multer = require("multer");
const upload = multer();
2024-07-04 11:39:18 +03:30
const User = require("../models/user");
2024-05-27 11:57:25 -07:00
2024-05-15 12:16:04 -07:00
const {
registerController,
loginController,
logoutController,
2024-05-27 11:57:25 -07:00
userEditController,
recoveryRequestController,
2024-06-10 16:07:52 -07:00
validateRecoveryTokenController,
resetPasswordController,
2024-08-26 09:46:23 -07:00
checkSuperadminController,
getAllUsersController,
2024-07-19 10:59:04 -07:00
deleteUserController,
2024-05-15 12:16:04 -07:00
} = require("../controllers/authController");
//Auth routes
router.post("/register", upload.single("profileImage"), registerController);
2024-05-15 12:16:04 -07:00
router.post("/login", loginController);
2024-08-02 11:54:46 -07:00
router.put(
2024-07-03 10:23:16 -07:00
"/user/:userId",
upload.single("profileImage"),
verifyJWT,
userEditController
);
2024-08-26 09:46:23 -07:00
router.get("/users/superadmin", checkSuperadminController);
router.get(
"/users",
verifyJWT,
isAllowed(["admin", "superadmin"]),
getAllUsersController
);
2024-07-19 10:59:04 -07:00
router.delete(
"/user/:userId",
verifyJWT,
verifyOwnership(User, "userId"),
deleteUserController
);
//Recovery routes
router.post("/recovery/request", recoveryRequestController);
2024-06-10 16:07:52 -07:00
router.post("/recovery/validate", validateRecoveryTokenController);
router.post("/recovery/reset/", resetPasswordController);
2024-05-15 12:16:04 -07:00
module.exports = router;