import { memberQualifications } from "../../../../entity/club/member/memberQualifications";
import { MemberQualificationViewModel } from "../../../../viewmodel/admin/club/member/memberQualification.models";

export default abstract class MemberQualificationFactory {
  /**
   * @description map record to memberQualification
   * @param {memberQualification} record
   * @returns {MemberQualificationViewModel}
   */
  public static mapToSingle(record: memberQualifications): MemberQualificationViewModel {
    return {
      id: record.id,
      note: record.note,
      start: record.start,
      end: record.end,
      terminationReason: record.terminationReason,
      qualification: record.qualification.qualification,
      qualificationId: record.qualification.id,
    };
  }

  /**
   * @description map records to memberQualification
   * @param {Array<memberQualification>} records
   * @returns {Array<MemberQualificationViewModel>}
   */
  public static mapToBase(records: Array<memberQualifications>): Array<MemberQualificationViewModel> {
    return records.map((r) => this.mapToSingle(r));
  }
}