2025-01-05 14:14:00 +01:00
|
|
|
import { communication } from "../../../../entity/club/member/communication";
|
|
|
|
import { CommunicationViewModel } from "../../../../viewmodel/admin/club/member/communication.models";
|
2025-02-15 10:59:54 +01:00
|
|
|
import CommunicationTypeFactory from "../../configuration/communicationType";
|
2024-09-16 15:55:41 +02:00
|
|
|
|
|
|
|
export default abstract class CommunicationFactory {
|
|
|
|
/**
|
|
|
|
* @description map record to communication
|
|
|
|
* @param {communication} record
|
|
|
|
* @returns {CommunicationViewModel}
|
|
|
|
*/
|
2024-09-17 16:44:39 +02:00
|
|
|
public static mapToSingle(record: communication, isMain: boolean = false): CommunicationViewModel {
|
2024-09-16 15:55:41 +02:00
|
|
|
return {
|
|
|
|
id: record.id,
|
|
|
|
preferred: record.preferred,
|
|
|
|
mobile: record.mobile,
|
|
|
|
email: record.email,
|
2025-01-03 19:26:33 +01:00
|
|
|
postalCode: record.postalCode,
|
2024-09-16 15:55:41 +02:00
|
|
|
city: record.city,
|
|
|
|
street: record.street,
|
|
|
|
streetNumber: record.streetNumber,
|
|
|
|
streetNumberAddition: record.streetNumberAddition,
|
|
|
|
type: CommunicationTypeFactory.mapToSingle(record.type),
|
2025-01-31 11:40:59 +01:00
|
|
|
isNewsletterMain: record?.isSendNewsletter,
|
2024-11-27 10:07:59 +01:00
|
|
|
isSMSAlarming: record.isSMSAlarming,
|
2024-09-16 15:55:41 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @description map records to communication
|
|
|
|
* @param {Array<communication>} records
|
|
|
|
* @returns {Array<CommunicationViewModel>}
|
|
|
|
*/
|
|
|
|
public static mapToBase(records: Array<communication>): Array<CommunicationViewModel> {
|
|
|
|
return records.map((r) => this.mapToSingle(r));
|
|
|
|
}
|
|
|
|
}
|