35 lines
1.6 KiB
TypeScript
35 lines
1.6 KiB
TypeScript
import express from "express";
|
|
import { adminOnly, validateToken } from "../middlewares/auth.js";
|
|
import {
|
|
accUpgradeUserToPlatinumHandler,
|
|
countUserHandler,
|
|
deleteUserByIdHandler,
|
|
getAllUserHandler,
|
|
getPhoneNumberAdminHandler,
|
|
getUserByIdHandler,
|
|
rejectUserByIdHandler,
|
|
sendOtpHandler,
|
|
updateUserByIdHandler,
|
|
upgradeUserToPlatinumHandler,
|
|
verifyOtpHandler,
|
|
} from "../controllers/user.js";
|
|
import { parseFormData, formDataParserMiddleware } from "../middlewares/auth.js";
|
|
import { uploadBuktiMiddleware } from "../middlewares/topup.js";
|
|
import validateResource from "../middlewares/validate.resource.js";
|
|
import { UpgradePlatinumValidation } from "../validations/user.js";
|
|
|
|
const router = express.Router();
|
|
router.get("/", validateToken, adminOnly, getAllUserHandler);
|
|
router.get("/count", validateToken, adminOnly, countUserHandler);
|
|
router.get("/phone-number", validateToken, getPhoneNumberAdminHandler);
|
|
router.get("/:id", validateToken, getUserByIdHandler);
|
|
router.put("/:id", validateToken, parseFormData, formDataParserMiddleware, updateUserByIdHandler);
|
|
router.delete("/:id", validateToken, adminOnly, deleteUserByIdHandler);
|
|
router.put("/reject/:id", validateToken, adminOnly, rejectUserByIdHandler);
|
|
router.post("/send-otp", validateToken, adminOnly, sendOtpHandler);
|
|
router.post("/verify-otp", validateToken, verifyOtpHandler);
|
|
router.post("/upgrade-platinum", validateToken, uploadBuktiMiddleware, validateResource(UpgradePlatinumValidation), upgradeUserToPlatinumHandler);
|
|
router.post("/acc-upgrade-platinum", validateToken, adminOnly, accUpgradeUserToPlatinumHandler);
|
|
|
|
export default router;
|