50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
|
import { Request, Response } from "express";
|
||
|
import NewsletterConfigService from "../../service/newsletterConfigService";
|
||
|
import NewsletterConfigFactory from "../../factory/admin/newsletterConfig";
|
||
|
import NewsletterConfigCommandHandler from "../../command/newsletterConfigCommandHandler";
|
||
|
import { SetNewsletterConfigCommand } from "../../command/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<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,
|
||
|
};
|
||
|
let id = await NewsletterConfigCommandHandler.setConfig(createNewsletterConfig);
|
||
|
|
||
|
res.send(id);
|
||
|
}
|