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

38 lines
867 B
TypeScript

import type { EquipmentViewModel } from "../equipment/equipment.models";
import type { VehicleViewModel } from "../vehicle/vehicle.models";
import type { WearableViewModel } from "../wearable/wearable.models";
export type DamageReportViewModel = {
id: string;
reported: Date;
status: string;
done: boolean;
description: string;
providedImage: Array<string>;
relatedId: string;
} & (
| {
assigned: "equipment";
related: EquipmentViewModel;
}
| {
assigned: "vehicle";
related: VehicleViewModel;
}
| {
assigned: "wearable";
related: WearableViewModel;
}
);
export interface CreateDamageReportViewModel {
description: string;
affectedId: string;
affected: "equipment" | "vehicle" | "wearable";
}
export interface UpdateDamageReportViewModel {
id: string;
status: string;
done: boolean;
}