import express, { Request, Response } from "express"; import { addAwardToMember, addCommunicationToMember, addExecutivePositionToMember, addMembershipToMember, addQualificationToMember, createMember, deleteAwardOfMember, deleteCommunicationOfMember, deleteExecutivePositionOfMember, deleteMemberById, deleteMembershipOfMember, deleteQualificationOfMember, getAllMembers, getAwardsByMember, getCommunicationsByMember, getExecutivePositionsByMember, getMemberById, getMembershipsByMember, getQualificationsByMember, updateAwardOfMember, updateCommunicationOfMember, updateExecutivePositionOfMember, updateMemberById, updateMembershipOfMember, updateQualificationOfMember, } from "../../controller/admin/memberController"; var router = express.Router({ mergeParams: true }); router.get("/", async (req: Request, res: Response) => { await getAllMembers(req, res); }); router.get("/:id", async (req: Request, res: Response) => { await getMemberById(req, res); }); router.get("/:memberId/memberships", async (req: Request, res: Response) => { await getMembershipsByMember(req, res); }); router.get("/:memberId/awards", async (req: Request, res: Response) => { await getAwardsByMember(req, res); }); router.get("/:memberId/qualifications", async (req: Request, res: Response) => { await getQualificationsByMember(req, res); }); router.get("/:memberId/positions", async (req: Request, res: Response) => { await getExecutivePositionsByMember(req, res); }); router.get("/:memberId/communications", async (req: Request, res: Response) => { await getCommunicationsByMember(req, res); }); router.post("/", async (req: Request, res: Response) => { await createMember(req, res); }); router.post("/:memberId/membership", async (req: Request, res: Response) => { await addMembershipToMember(req, res); }); router.post("/:memberId/award", async (req: Request, res: Response) => { await addAwardToMember(req, res); }); router.post("/:memberId/qualification", async (req: Request, res: Response) => { await addQualificationToMember(req, res); }); router.post("/:memberId/position", async (req: Request, res: Response) => { await addExecutivePositionToMember(req, res); }); router.post("/:memberId/communication", async (req: Request, res: Response) => { await addCommunicationToMember(req, res); }); router.patch("/:id", async (req: Request, res: Response) => { await updateMemberById(req, res); }); router.patch("/:memberId/membership/:recordId", async (req: Request, res: Response) => { await updateMembershipOfMember(req, res); }); router.patch("/:memberId/award/:recordId", async (req: Request, res: Response) => { await updateAwardOfMember(req, res); }); router.patch("/:memberId/qualification/:recordId", async (req: Request, res: Response) => { await updateQualificationOfMember(req, res); }); router.patch("/:memberId/position/:recordId", async (req: Request, res: Response) => { await updateExecutivePositionOfMember(req, res); }); router.patch("/:memberId/communication/:recordId", async (req: Request, res: Response) => { await updateCommunicationOfMember(req, res); }); router.delete("/:id", async (req: Request, res: Response) => { await deleteMemberById(req, res); }); router.delete("/:memberId/membership/:recordId", async (req: Request, res: Response) => { await deleteMembershipOfMember(req, res); }); router.delete("/:memberId/award/:recordId", async (req: Request, res: Response) => { await deleteAwardOfMember(req, res); }); router.delete("/:memberId/qualification/:recordId", async (req: Request, res: Response) => { await deleteQualificationOfMember(req, res); }); router.delete("/:memberId/position/:recordId", async (req: Request, res: Response) => { await deleteExecutivePositionOfMember(req, res); }); router.delete("/:memberId/communication/:recordId", async (req: Request, res: Response) => { await deleteCommunicationOfMember(req, res); }); export default router;