ff-admin-server/src/factory/admin/club/member/communication.ts

37 lines
1.3 KiB
TypeScript
Raw Normal View History

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));
}
}