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

33 lines
1 KiB
TypeScript
Raw Normal View History

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