import { communication } from "../../entity/communication"; import { CommunicationViewModel } from "../../viewmodel/admin/communication.models"; import CommunicationTypeFactory from "./communicationType"; export default abstract class CommunicationFactory { /** * @description map record to communication * @param {communication} record * @returns {CommunicationViewModel} */ public static mapToSingle(record: communication, isMain: boolean = false): CommunicationViewModel { return { id: record.id, preferred: record.preferred, mobile: record.mobile, email: record.email, city: record.city, street: record.street, streetNumber: record.streetNumber, streetNumberAddition: record.streetNumberAddition, type: CommunicationTypeFactory.mapToSingle(record.type), isNewsletterMain: isMain ? isMain : record?.member?.sendNewsletter?.id == record.id, isSMSAlarming: record.isSMSAlarming, }; } /** * @description map records to communication * @param {Array} records * @returns {Array} */ public static mapToBase(records: Array): Array { return records.map((r) => this.mapToSingle(r)); } }