86 lines
2.4 KiB
TypeScript
86 lines
2.4 KiB
TypeScript
|
import express, { Request, Response } from "express";
|
||
|
import {
|
||
|
createNewsletter,
|
||
|
createNewsletterPrintoutById,
|
||
|
getAllNewsletters,
|
||
|
getNewsletterDatesById,
|
||
|
getNewsletterById,
|
||
|
getNewsletterRecipientsById,
|
||
|
getNewsletterPrintoutByIdAndPrint,
|
||
|
getNewsletterPrintoutsById,
|
||
|
synchronizeNewsletterDatesById,
|
||
|
synchronizeNewsletterById,
|
||
|
synchronizeNewsletterRecipientsById,
|
||
|
} from "../../controller/admin/newsletterController";
|
||
|
import PermissionHelper from "../../helpers/permissionHelper";
|
||
|
|
||
|
var router = express.Router({ mergeParams: true });
|
||
|
|
||
|
router.get("/", async (req: Request, res: Response) => {
|
||
|
await getAllNewsletters(req, res);
|
||
|
});
|
||
|
|
||
|
router.get("/:id", async (req: Request, res: Response) => {
|
||
|
await getNewsletterById(req, res);
|
||
|
});
|
||
|
|
||
|
router.get("/:protocolId/dates", async (req: Request, res: Response) => {
|
||
|
await getNewsletterDatesById(req, res);
|
||
|
});
|
||
|
|
||
|
router.get("/:protocolId/recipients", async (req: Request, res: Response) => {
|
||
|
await getNewsletterRecipientsById(req, res);
|
||
|
});
|
||
|
|
||
|
router.get("/:protocolId/printouts", async (req: Request, res: Response) => {
|
||
|
await getNewsletterPrintoutsById(req, res);
|
||
|
});
|
||
|
|
||
|
router.get("/:protocolId/printout/:filename", async (req: Request, res: Response) => {
|
||
|
await getNewsletterPrintoutByIdAndPrint(req, res);
|
||
|
});
|
||
|
|
||
|
router.post(
|
||
|
"/",
|
||
|
PermissionHelper.passCheckMiddleware("create", "club", "protocol"),
|
||
|
async (req: Request, res: Response) => {
|
||
|
await createNewsletter(req, res);
|
||
|
}
|
||
|
);
|
||
|
|
||
|
router.post(
|
||
|
"/:protocolId/printout",
|
||
|
PermissionHelper.passCheckMiddleware("create", "club", "protocol"),
|
||
|
async (req: Request, res: Response) => {
|
||
|
await createNewsletterPrintoutById(req, res);
|
||
|
}
|
||
|
);
|
||
|
|
||
|
router.patch(
|
||
|
"/:id/synchronize",
|
||
|
PermissionHelper.passCheckMiddleware("update", "club", "protocol"),
|
||
|
async (req: Request, res: Response) => {
|
||
|
await synchronizeNewsletterById(req, res);
|
||
|
}
|
||
|
);
|
||
|
|
||
|
router.patch(
|
||
|
"/:protocolId/synchronize/dates",
|
||
|
PermissionHelper.passCheckMiddleware("update", "club", "protocol"),
|
||
|
async (req: Request, res: Response) => {
|
||
|
await synchronizeNewsletterDatesById(req, res);
|
||
|
}
|
||
|
);
|
||
|
|
||
|
router.patch(
|
||
|
"/:protocolId/synchronize/recipients",
|
||
|
PermissionHelper.passCheckMiddleware("update", "club", "protocol"),
|
||
|
async (req: Request, res: Response) => {
|
||
|
await synchronizeNewsletterRecipientsById(req, res);
|
||
|
}
|
||
|
);
|
||
|
|
||
|
// TODO: send mails | send mail preview | render preview before print job
|
||
|
|
||
|
export default router;
|