ff-admin-server/src/factory/admin/settings/newsletterConfig.ts
2025-01-05 14:14:00 +01:00

27 lines
1,016 B
TypeScript

import { newsletterConfig } from "../../../entity/settings/newsletterConfig";
import { NewsletterConfigViewModel } from "../../../viewmodel/admin/settings/newsletterConfig.models";
import CommunicationTypeFactory from "./communicationType";
export default abstract class NewsletterConfigFactory {
/**
* @description map record to newsletterConfig
* @param {newsletterConfig} record
* @returns {NewsletterConfigViewModel}
*/
public static mapToSingle(record: newsletterConfig): NewsletterConfigViewModel {
return {
comTypeId: record.comTypeId,
config: record.config,
comType: record?.comType ? CommunicationTypeFactory.mapToSingle(record.comType) : null,
};
}
/**
* @description map records to newsletterConfig
* @param {Array<newsletterConfig>} records
* @returns {Array<NewsletterConfigViewModel>}
*/
public static mapToBase(records: Array<newsletterConfig>): Array<NewsletterConfigViewModel> {
return records.map((r) => this.mapToSingle(r));
}
}