33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
|
import { equipment } from "../../../../entity/unit/equipment/equipment";
|
||
|
import { EquipmentViewModel } from "../../../../viewmodel/admin/unit/equipment/equipment.models";
|
||
|
import EquipmentTypeFactory from "./equipmentType";
|
||
|
|
||
|
export default abstract class EquipmentFactory {
|
||
|
/**
|
||
|
* @description map record to equipment
|
||
|
* @param {equipment} record
|
||
|
* @returns {EquipmentViewModel}
|
||
|
*/
|
||
|
public static mapToSingle(record: equipment): EquipmentViewModel {
|
||
|
return {
|
||
|
id: record.id,
|
||
|
code: record?.code,
|
||
|
name: record.name,
|
||
|
location: record.location,
|
||
|
commissioned: record.commissioned,
|
||
|
decommissioned: record?.decommissioned,
|
||
|
equipmentTypeId: record?.equipmentTypeId,
|
||
|
equipmentType: record?.equipmentType ? EquipmentTypeFactory.mapToSingle(record.equipmentType) : null,
|
||
|
};
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @description map records to equipment
|
||
|
* @param {Array<equipment>} records
|
||
|
* @returns {Array<EquipmentViewModel>}
|
||
|
*/
|
||
|
public static mapToBase(records: Array<equipment>): Array<EquipmentViewModel> {
|
||
|
return records.map((r) => this.mapToSingle(r));
|
||
|
}
|
||
|
}
|