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");
|
2024-08-27 10:39:55 -07:00
|
|
|
const { isAllowed } = require("../middleware/isAllowed");
|
2024-07-01 11:48:56 -07:00
|
|
|
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,
|
2024-08-09 13:33:13 -07:00
|
|
|
logoutController,
|
2024-05-27 11:57:25 -07:00
|
|
|
userEditController,
|
2024-06-10 15:54:45 -07:00
|
|
|
recoveryRequestController,
|
2024-06-10 16:07:52 -07:00
|
|
|
validateRecoveryTokenController,
|
2024-06-11 10:36:56 -07:00
|
|
|
resetPasswordController,
|
2024-08-26 09:46:23 -07:00
|
|
|
checkSuperadminController,
|
2024-07-22 11:49:22 -07:00
|
|
|
getAllUsersController,
|
2024-07-19 10:59:04 -07:00
|
|
|
deleteUserController,
|
2024-05-15 12:16:04 -07:00
|
|
|
} = require("../controllers/authController");
|
2024-05-09 17:06:00 -04:00
|
|
|
|
2024-06-11 10:36:56 -07:00
|
|
|
//Auth routes
|
2024-07-01 11:48:56 -07:00
|
|
|
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);
|
2024-08-27 10:39:55 -07:00
|
|
|
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
|
|
|
|
|
);
|
2024-05-09 17:06:00 -04:00
|
|
|
|
2024-06-10 15:54:45 -07:00
|
|
|
//Recovery routes
|
|
|
|
|
router.post("/recovery/request", recoveryRequestController);
|
2024-06-10 16:07:52 -07:00
|
|
|
router.post("/recovery/validate", validateRecoveryTokenController);
|
2024-06-11 10:36:56 -07:00
|
|
|
router.post("/recovery/reset/", resetPasswordController);
|
2024-06-10 15:54:45 -07:00
|
|
|
|
2024-05-15 12:16:04 -07:00
|
|
|
module.exports = router;
|