ff-admin-server/src/routes/admin/club/member.ts

255 lines
6.9 KiB
TypeScript

import express, { Request, Response } from "express";
import {
addAwardToMember,
addCommunicationToMember,
addExecutivePositionToMember,
addMembershipToMember,
addQualificationToMember,
createMember,
createMemberPrintoutList,
deleteAwardOfMember,
deleteCommunicationOfMember,
deleteExecutivePositionOfMember,
deleteMemberById,
deleteMembershipOfMember,
deleteQualificationOfMember,
getAllMembers,
getAwardByMemberAndRecord,
getAwardsByMember,
getCommunicationByMemberAndRecord,
getCommunicationsByMember,
getExecutivePositionByMemberAndRecord,
getExecutivePositionsByMember,
getMemberById,
getMemberPrintoutById,
getMembersByIds,
getMembershipByMemberAndRecord,
getMembershipsByMember,
getMembershipStatisticsById,
getMemberStatisticsById,
getQualificationByMemberAndRecord,
getQualificationsByMember,
updateAwardOfMember,
updateCommunicationOfMember,
updateExecutivePositionOfMember,
updateMemberById,
updateMembershipOfMember,
updateQualificationOfMember,
} from "../../../controller/admin/club/memberController";
import PermissionHelper from "../../../helpers/permissionHelper";
var router = express.Router({ mergeParams: true });
router.get("/", async (req: Request, res: Response) => {
await getAllMembers(req, res);
});
router.post("/ids", async (req: Request, res: Response) => {
await getMembersByIds(req, res);
});
router.get("/:id", async (req: Request, res: Response) => {
await getMemberById(req, res);
});
router.get("/:id/statistics", async (req: Request, res: Response) => {
await getMemberStatisticsById(req, res);
});
router.get("/:id/print", async (req: Request, res: Response) => {
await getMemberPrintoutById(req, res);
});
router.get("/print/namelist", async (req: Request, res: Response) => {
await createMemberPrintoutList(req, res);
});
router.get("/:memberId/memberships", async (req: Request, res: Response) => {
await getMembershipsByMember(req, res);
});
router.get("/:memberId/memberships/statistics", async (req: Request, res: Response) => {
await getMembershipStatisticsById(req, res);
});
router.get("/:memberId/membership/:id", async (req: Request, res: Response) => {
await getMembershipByMemberAndRecord(req, res);
});
router.get("/:memberId/awards", async (req: Request, res: Response) => {
await getAwardsByMember(req, res);
});
router.get("/:memberId/award/:id", async (req: Request, res: Response) => {
await getAwardByMemberAndRecord(req, res);
});
router.get("/:memberId/qualifications", async (req: Request, res: Response) => {
await getQualificationsByMember(req, res);
});
router.get("/:memberId/qualification/:id", async (req: Request, res: Response) => {
await getQualificationByMemberAndRecord(req, res);
});
router.get("/:memberId/positions", async (req: Request, res: Response) => {
await getExecutivePositionsByMember(req, res);
});
router.get("/:memberId/position/:id", async (req: Request, res: Response) => {
await getExecutivePositionByMemberAndRecord(req, res);
});
router.get("/:memberId/communications", async (req: Request, res: Response) => {
await getCommunicationsByMember(req, res);
});
router.get("/:memberId/communication/:id", async (req: Request, res: Response) => {
await getCommunicationByMemberAndRecord(req, res);
});
router.post(
"/",
PermissionHelper.passCheckMiddleware("create", "club", "member"),
async (req: Request, res: Response) => {
await createMember(req, res);
}
);
router.post(
"/:memberId/membership",
PermissionHelper.passCheckMiddleware("create", "club", "member"),
async (req: Request, res: Response) => {
await addMembershipToMember(req, res);
}
);
router.post(
"/:memberId/award",
PermissionHelper.passCheckMiddleware("create", "club", "member"),
async (req: Request, res: Response) => {
await addAwardToMember(req, res);
}
);
router.post(
"/:memberId/qualification",
PermissionHelper.passCheckMiddleware("create", "club", "member"),
async (req: Request, res: Response) => {
await addQualificationToMember(req, res);
}
);
router.post(
"/:memberId/position",
PermissionHelper.passCheckMiddleware("create", "club", "member"),
async (req: Request, res: Response) => {
await addExecutivePositionToMember(req, res);
}
);
router.post(
"/:memberId/communication",
PermissionHelper.passCheckMiddleware("create", "club", "member"),
async (req: Request, res: Response) => {
await addCommunicationToMember(req, res);
}
);
router.patch(
"/:id",
PermissionHelper.passCheckMiddleware("update", "club", "member"),
async (req: Request, res: Response) => {
await updateMemberById(req, res);
}
);
router.patch(
"/:memberId/membership/:recordId",
PermissionHelper.passCheckMiddleware("update", "club", "member"),
async (req: Request, res: Response) => {
await updateMembershipOfMember(req, res);
}
);
router.patch(
"/:memberId/award/:recordId",
PermissionHelper.passCheckMiddleware("update", "club", "member"),
async (req: Request, res: Response) => {
await updateAwardOfMember(req, res);
}
);
router.patch(
"/:memberId/qualification/:recordId",
PermissionHelper.passCheckMiddleware("update", "club", "member"),
async (req: Request, res: Response) => {
await updateQualificationOfMember(req, res);
}
);
router.patch(
"/:memberId/position/:recordId",
PermissionHelper.passCheckMiddleware("update", "club", "member"),
async (req: Request, res: Response) => {
await updateExecutivePositionOfMember(req, res);
}
);
router.patch(
"/:memberId/communication/:recordId",
PermissionHelper.passCheckMiddleware("update", "club", "member"),
async (req: Request, res: Response) => {
await updateCommunicationOfMember(req, res);
}
);
router.delete(
"/:id",
PermissionHelper.passCheckMiddleware("delete", "club", "member"),
async (req: Request, res: Response) => {
await deleteMemberById(req, res);
}
);
router.delete(
"/:memberId/membership/:recordId",
PermissionHelper.passCheckMiddleware("delete", "club", "member"),
async (req: Request, res: Response) => {
await deleteMembershipOfMember(req, res);
}
);
router.delete(
"/:memberId/award/:recordId",
PermissionHelper.passCheckMiddleware("delete", "club", "member"),
async (req: Request, res: Response) => {
await deleteAwardOfMember(req, res);
}
);
router.delete(
"/:memberId/qualification/:recordId",
PermissionHelper.passCheckMiddleware("delete", "club", "member"),
async (req: Request, res: Response) => {
await deleteQualificationOfMember(req, res);
}
);
router.delete(
"/:memberId/position/:recordId",
PermissionHelper.passCheckMiddleware("delete", "club", "member"),
async (req: Request, res: Response) => {
await deleteExecutivePositionOfMember(req, res);
}
);
router.delete(
"/:memberId/communication/:recordId",
PermissionHelper.passCheckMiddleware("delete", "club", "member"),
async (req: Request, res: Response) => {
await deleteCommunicationOfMember(req, res);
}
);
export default router;