ff-admin-server/src/controller/admin/newsletterConfigController.ts

67 lines
2.2 KiB
TypeScript
Raw Normal View History

2024-12-26 11:08:48 +01:00
import { Request, Response } from "express";
import NewsletterConfigService from "../../service/newsletterConfigService";
import NewsletterConfigFactory from "../../factory/admin/newsletterConfig";
import NewsletterConfigCommandHandler from "../../command/newsletterConfigCommandHandler";
2024-12-26 12:04:12 +01:00
import { DeleteNewsletterConfigCommand, SetNewsletterConfigCommand } from "../../command/newsletterConfigCommand";
2024-12-26 11:08:48 +01:00
/**
* @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<any> {
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<any> {
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<any> {
let comTypeId = req.body.comTypeId;
let config = req.body.config;
let createNewsletterConfig: SetNewsletterConfigCommand = {
comTypeId,
config,
};
2024-12-26 12:04:12 +01:00
let id = await NewsletterConfigCommandHandler.set(createNewsletterConfig);
2024-12-26 11:08:48 +01:00
res.send(id);
}
2024-12-26 12:04:12 +01:00
/**
* @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<any> {
const comTypeId = parseInt(req.params.comTypeId);
let deleteNewsletterConfig: DeleteNewsletterConfigCommand = {
comTypeId: comTypeId,
};
await NewsletterConfigCommandHandler.delete(deleteNewsletterConfig);
res.sendStatus(204);
}