import { newsletter } from "../../../../entity/club/newsletter/newsletter"; import { NewsletterViewModel } from "../../../../viewmodel/admin/club/newsletter/newsletter.models"; import QueryStoreFactory from "../../configuration/queryStore"; export default abstract class NewsletterFactory { /** * @description map record to newsletter * @param {newsletter} record * @returns {NewsletterViewModel} */ public static mapToSingle(record: newsletter): NewsletterViewModel { return { id: record.id, title: record.title, description: record.description, newsletterTitle: record.newsletterTitle, newsletterText: record.newsletterText, newsletterSignatur: record.newsletterSignatur, isSent: record.isSent, recipientsByQueryId: record?.recipientsByQuery ? record.recipientsByQuery.id : null, recipientsByQuery: record?.recipientsByQuery ? QueryStoreFactory.mapToSingle(record.recipientsByQuery) : null, }; } /** * @description map records to newsletter * @param {Array} records * @returns {Array} */ public static mapToBase(records: Array): Array { return records.map((r) => this.mapToSingle(r)); } }