import { dataSource } from "../../../data-source"; import { newsletterConfig } from "../../../entity/settings/newsletterConfig"; import InternalException from "../../../exceptions/internalException"; import { SetNewsletterConfigCommand } from "./newsletterConfigCommand"; export default abstract class NewsletterConfigCommandHandler { /** * @description set newsletterConfig * @param {SetNewsletterConfigCommand} setNewsletterConfig * @returns {Promise} */ static async set(setNewsletterConfig: SetNewsletterConfigCommand): Promise { return await dataSource .createQueryBuilder() .insert() .into(newsletterConfig) .values({ comTypeId: setNewsletterConfig.comTypeId, config: setNewsletterConfig.config, }) .orUpdate(["config"], "comTypeId") .execute() .then((result) => { return result.identifiers[0].id; }) .catch((err) => { throw new InternalException("Failed setting newsletterConfig", err); }); } }