import { communication } from "../../../../entity/club/member/communication"; import { CommunicationViewModel } from "../../../../viewmodel/admin/club/member/communication.models"; import CommunicationTypeFactory from "../../configuration/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, postalCode: record.postalCode, city: record.city, street: record.street, streetNumber: record.streetNumber, streetNumberAddition: record.streetNumberAddition, type: CommunicationTypeFactory.mapToSingle(record.type), isNewsletterMain: record?.isSendNewsletter, 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)); } }