ff-admin-server/src/routes/admin/newsletter.ts

103 lines
2.9 KiB
TypeScript
Raw Normal View History

2024-12-25 12:22:28 +01:00
import express, { Request, Response } from "express";
import {
createNewsletter,
createNewsletterPrintoutById,
getAllNewsletters,
getNewsletterDatesById,
getNewsletterById,
getNewsletterRecipientsById,
getNewsletterPrintoutByIdAndPrint,
getNewsletterPrintoutsById,
synchronizeNewsletterDatesById,
synchronizeNewsletterById,
synchronizeNewsletterRecipientsById,
2024-12-28 18:03:33 +01:00
sendNewsletterById,
createNewsletterMailPreviewById,
createNewsletterPrintoutPreviewById,
2024-12-25 12:22:28 +01:00
} 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);
});
2024-12-26 13:57:31 +01:00
router.get("/:newsletterId/dates", async (req: Request, res: Response) => {
2024-12-25 12:22:28 +01:00
await getNewsletterDatesById(req, res);
});
2024-12-26 13:57:31 +01:00
router.get("/:newsletterId/recipients", async (req: Request, res: Response) => {
2024-12-25 12:22:28 +01:00
await getNewsletterRecipientsById(req, res);
});
2024-12-26 13:57:31 +01:00
router.get("/:newsletterId/printouts", async (req: Request, res: Response) => {
2024-12-25 12:22:28 +01:00
await getNewsletterPrintoutsById(req, res);
});
2024-12-26 13:57:31 +01:00
router.get("/:newsletterId/printout/:filename", async (req: Request, res: Response) => {
2024-12-25 12:22:28 +01:00
await getNewsletterPrintoutByIdAndPrint(req, res);
});
2024-12-28 18:03:33 +01:00
router.get("/:newsletterId/printoutpreview", async (req: Request, res: Response) => {
await createNewsletterPrintoutPreviewById(req, res);
});
2024-12-25 12:22:28 +01:00
router.post(
"/",
PermissionHelper.passCheckMiddleware("create", "club", "protocol"),
async (req: Request, res: Response) => {
await createNewsletter(req, res);
}
);
router.post(
2024-12-26 13:57:31 +01:00
"/:newsletterId/printout",
2024-12-25 12:22:28 +01:00
PermissionHelper.passCheckMiddleware("create", "club", "protocol"),
async (req: Request, res: Response) => {
await createNewsletterPrintoutById(req, res);
}
);
2024-12-28 18:03:33 +01:00
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);
}
);
2024-12-25 12:22:28 +01:00
router.patch(
"/:id/synchronize",
PermissionHelper.passCheckMiddleware("update", "club", "protocol"),
async (req: Request, res: Response) => {
await synchronizeNewsletterById(req, res);
}
);
router.patch(
2024-12-26 13:57:31 +01:00
"/:newsletterId/synchronize/dates",
2024-12-25 12:22:28 +01:00
PermissionHelper.passCheckMiddleware("update", "club", "protocol"),
async (req: Request, res: Response) => {
await synchronizeNewsletterDatesById(req, res);
}
);
router.patch(
2024-12-26 13:57:31 +01:00
"/:newsletterId/synchronize/recipients",
2024-12-25 12:22:28 +01:00
PermissionHelper.passCheckMiddleware("update", "club", "protocol"),
async (req: Request, res: Response) => {
await synchronizeNewsletterRecipientsById(req, res);
}
);
export default router;