2024-09-16 12:37:06 +02:00
|
|
|
import { member } from "../../entity/member";
|
|
|
|
import { MemberViewModel } from "../../viewmodel/admin/member.models";
|
2024-09-16 15:55:41 +02:00
|
|
|
import MembershipFactory from "./membership";
|
2024-09-16 12:37:06 +02:00
|
|
|
|
|
|
|
export default abstract class MemberFactory {
|
|
|
|
/**
|
|
|
|
* @description map record to member
|
|
|
|
* @param {member} record
|
|
|
|
* @returns {MemberViewModel}
|
|
|
|
*/
|
|
|
|
public static mapToSingle(record: member): MemberViewModel {
|
|
|
|
return {
|
|
|
|
id: record.id,
|
|
|
|
salutation: record.salutation,
|
|
|
|
firstname: record.firstname,
|
|
|
|
lastname: record.lastname,
|
|
|
|
nameaffix: record.nameaffix,
|
|
|
|
birthdate: record.birthdate,
|
2024-09-16 15:55:41 +02:00
|
|
|
firstMembershipEntry: MembershipFactory.mapToSingle(record.firstMembershipEntry),
|
|
|
|
lastMembershipEntry: MembershipFactory.mapToSingle(record.lastMembershipEntry),
|
2024-09-16 12:37:06 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @description map records to member
|
|
|
|
* @param {Array<member>} records
|
|
|
|
* @returns {Array<MemberViewModel>}
|
|
|
|
*/
|
|
|
|
public static mapToBase(records: Array<member>): Array<MemberViewModel> {
|
|
|
|
return records.map((r) => this.mapToSingle(r));
|
|
|
|
}
|
|
|
|
}
|