Files
Checkmate/Server/routes/authRoute.js
T

38 lines
1.2 KiB
JavaScript
Raw Normal View History

2024-10-15 11:57:37 +08:00
import { Router } from "express";
import { verifyJWT } from "../middleware/verifyJWT.js";
import { verifyOwnership } from "../middleware/verifyOwnership.js";
import { isAllowed } from "../middleware/isAllowed.js";
import multer from "multer";
import User from "../db/models/User.js";
const router = Router();
const upload = multer();
2024-05-27 11:57:25 -07:00
2024-10-15 11:57:37 +08:00
import {
2024-10-08 11:57:08 -04:00
registerUser,
loginUser,
2024-10-17 17:01:36 +05:30
refreshAuthToken,
2024-10-08 11:57:08 -04:00
editUser,
requestRecovery,
validateRecovery,
resetPassword,
checkSuperadminExists,
getAllUsers,
deleteUser,
2024-10-15 11:57:37 +08:00
} from "../controllers/authController.js";
//Auth routes
router.post("/register", upload.single("profileImage"), registerUser);
router.post("/login", loginUser);
2024-10-17 17:01:36 +05:30
router.post("/refresh", refreshAuthToken);
2024-10-15 11:57:37 +08:00
router.put("/user/:userId", upload.single("profileImage"), verifyJWT, editUser);
router.get("/users/superadmin", checkSuperadminExists);
2024-10-08 11:57:08 -04:00
router.get("/users", verifyJWT, isAllowed(["admin", "superadmin"]), getAllUsers);
router.delete("/user/:userId", verifyJWT, verifyOwnership(User, "userId"), deleteUser);
//Recovery routes
router.post("/recovery/request", requestRecovery);
router.post("/recovery/validate", validateRecovery);
router.post("/recovery/reset/", resetPassword);
2024-10-15 11:57:37 +08:00
export default router;