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; noteByReporter: string; noteByWorker: string; images: string[]; reportedBy: string; maintenance?: MaintenanceViewModel; } & DamageReportAssigned;