49 lines
1.7 KiB
TypeScript
49 lines
1.7 KiB
TypeScript
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 { 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<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.set(createNewsletterConfig);
|
|
|
|
res.send(id);
|
|
}
|