koperasi/services/backend/src/routes/user.ts

35 lines
1.6 KiB
TypeScript
Raw Normal View History

2025-08-08 07:12:40 +00:00
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;