import { Request, Response } from "express"; import NewsletterConfigService from "../../../service/settings/newsletterConfigService"; import NewsletterConfigFactory from "../../../factory/admin/settings/newsletterConfig"; import NewsletterConfigCommandHandler from "../../../command/settings/newsletterConfig/newsletterConfigCommandHandler"; import { DeleteNewsletterConfigCommand, SetNewsletterConfigCommand } from "../../../command/settings/newsletterConfig/newsletterConfigCommand"; /** * @description get all newsletterConfigs * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getAllNewsletterConfigs(req: Request, res: Response): Promise { let newsletterConfigs = await NewsletterConfigService.getAll(); res.json(NewsletterConfigFactory.mapToBase(newsletterConfigs)); } /** * @description get newsletterConfig by id * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function getNewsletterConfigById(req: Request, res: Response): Promise { let comId = parseInt(req.params.comId); let newsletterConfig = await NewsletterConfigService.getByComId(comId); res.json(NewsletterConfigFactory.mapToSingle(newsletterConfig)); } /** * @description set newsletterConfig * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function setNewsletterConfig(req: Request, res: Response): Promise { let comTypeId = req.body.comTypeId; let config = req.body.config; let createNewsletterConfig: SetNewsletterConfigCommand = { comTypeId, config, }; let id = await NewsletterConfigCommandHandler.set(createNewsletterConfig); res.send(id); } /** * @description delete award * @param req {Request} Express req object * @param res {Response} Express res object * @returns {Promise<*>} */ export async function deleteNewsletterConfig(req: Request, res: Response): Promise { const comTypeId = parseInt(req.params.comTypeId); let deleteNewsletterConfig: DeleteNewsletterConfigCommand = { comTypeId: comTypeId, }; await NewsletterConfigCommandHandler.delete(deleteNewsletterConfig); res.sendStatus(204); }