import express, { Request, Response } from "express"; import { createNewsletter, createNewsletterPrintoutById, getAllNewsletters, getNewsletterDatesById, getNewsletterById, getNewsletterRecipientsById, getNewsletterPrintoutByIdAndPrint, getNewsletterPrintoutsById, synchronizeNewsletterDatesById, synchronizeNewsletterById, synchronizeNewsletterRecipientsById, sendNewsletterById, createNewsletterMailPreviewById, createNewsletterPrintoutPreviewById, } 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("/:newsletterId/dates", async (req: Request, res: Response) => { await getNewsletterDatesById(req, res); }); router.get("/:newsletterId/recipients", async (req: Request, res: Response) => { await getNewsletterRecipientsById(req, res); }); router.get("/:newsletterId/printouts", async (req: Request, res: Response) => { await getNewsletterPrintoutsById(req, res); }); router.get("/:newsletterId/printout/:filename", async (req: Request, res: Response) => { await getNewsletterPrintoutByIdAndPrint(req, res); }); router.get("/:newsletterId/printoutpreview", async (req: Request, res: Response) => { await createNewsletterPrintoutPreviewById(req, res); }); router.post( "/", PermissionHelper.passCheckMiddleware("create", "club", "protocol"), async (req: Request, res: Response) => { await createNewsletter(req, res); } ); router.post( "/:newsletterId/printout", PermissionHelper.passCheckMiddleware("create", "club", "protocol"), async (req: Request, res: Response) => { await createNewsletterPrintoutById(req, res); } ); router.post("/:newsletterId/mailpreview", async (req: Request, res: Response) => { await createNewsletterMailPreviewById(req, res); }); router.post( "/:newsletterId/send", PermissionHelper.passCheckMiddleware("create", "club", "protocol"), async (req: Request, res: Response) => { await sendNewsletterById(req, res); } ); router.patch( "/:id/synchronize", PermissionHelper.passCheckMiddleware("update", "club", "protocol"), async (req: Request, res: Response) => { await synchronizeNewsletterById(req, res); } ); router.patch( "/:newsletterId/synchronize/dates", PermissionHelper.passCheckMiddleware("update", "club", "protocol"), async (req: Request, res: Response) => { await synchronizeNewsletterDatesById(req, res); } ); router.patch( "/:newsletterId/synchronize/recipients", PermissionHelper.passCheckMiddleware("update", "club", "protocol"), async (req: Request, res: Response) => { await synchronizeNewsletterRecipientsById(req, res); } ); export default router;