112 lines
3.2 KiB
TypeScript
112 lines
3.2 KiB
TypeScript
import express, { Request, Response } from "express";
|
|
import {
|
|
createNewsletter,
|
|
createNewsletterPrintoutById,
|
|
getAllNewsletters,
|
|
getNewsletterDatesById,
|
|
getNewsletterById,
|
|
getNewsletterRecipientsById,
|
|
getNewsletterPrintoutByIdAndPrint,
|
|
getNewsletterPrintoutsById,
|
|
synchronizeNewsletterDatesById,
|
|
synchronizeNewsletterById,
|
|
synchronizeNewsletterRecipientsById,
|
|
sendNewsletterById,
|
|
createNewsletterMailPreviewById,
|
|
createNewsletterPrintoutPreviewById,
|
|
getNewsletterPrintoutProgressById,
|
|
getNewsletterSendingProgressById,
|
|
} from "../../../controller/admin/club/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.get("/:newsletterId/printoutprogress", async (req: Request, res: Response) => {
|
|
await getNewsletterPrintoutProgressById(req, res);
|
|
});
|
|
|
|
router.get("/:newsletterId/sendprogress", async (req: Request, res: Response) => {
|
|
await getNewsletterSendingProgressById(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;
|