ff-admin-server/src/viewmodel/admin/unit/damageReport.models.ts

34 lines
816 B
TypeScript

import { EquipmentViewModel } from "./equipment/equipment.models";
import { MaintenanceViewModel } from "./maintenance.models";
import { VehicleViewModel } from "./vehicle/vehicle.models";
import { WearableViewModel } from "./wearable/wearable.models";
export type DamageReportAssigned = {
relatedId: string;
} & (
| {
assigned: "equipment";
related: EquipmentViewModel;
}
| {
assigned: "vehicle";
related: VehicleViewModel;
}
| {
assigned: "wearable";
related: WearableViewModel;
}
);
export type DamageReportViewModel = {
id: string;
reportedAt: Date;
status: string;
done: boolean;
description: string;
location: string;
note: string;
images: string[];
reportedBy: string;
maintenance?: MaintenanceViewModel;
} & DamageReportAssigned;