import { member } from "../../entity/member"; import { MemberViewModel } from "../../viewmodel/admin/member.models"; import MembershipFactory from "./membership"; 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, firstMembershipEntry: MembershipFactory.mapToSingle(record.firstMembershipEntry), lastMembershipEntry: MembershipFactory.mapToSingle(record.lastMembershipEntry), }; } /** * @description map records to member * @param {Array} records * @returns {Array} */ public static mapToBase(records: Array): Array { return records.map((r) => this.mapToSingle(r)); } }