From bd1fdaa23416752be9924569f3fc0b7f236de596 Mon Sep 17 00:00:00 2001 From: Julian Krauser Date: Thu, 29 May 2025 10:57:24 +0200 Subject: [PATCH] update models to backend changes --- src/enums/inspectionEnum.ts | 5 +++ .../{damageReport => }/damageReport.models.ts | 27 +++++++----- .../admin/unit/equipment/equipment.models.ts | 4 +- .../equipmentType.models.ts | 3 -- .../unit/inspection/inspection.models.ts | 4 +- .../inspectionPlan.models.ts | 13 +++--- .../admin/unit/maintenance.models.ts | 43 +++++++++++++++++++ .../respiratoryGear.models.ts | 0 .../respiratoryMission.models.ts | 0 .../respiratoryWearer.models.ts | 0 .../admin/unit/vehicle/vehicle.models.ts | 4 +- .../vehicleType.models.ts | 3 -- .../admin/unit/wearable/wearable.models.ts | 2 +- .../wearableType.models.ts | 0 14 files changed, 79 insertions(+), 29 deletions(-) create mode 100644 src/enums/inspectionEnum.ts rename src/viewmodels/admin/unit/{damageReport => }/damageReport.models.ts (56%) rename src/viewmodels/admin/unit/{equipmentType => equipment}/equipmentType.models.ts (67%) rename src/viewmodels/admin/unit/{inspectionPlan => inspection}/inspectionPlan.models.ts (76%) create mode 100644 src/viewmodels/admin/unit/maintenance.models.ts rename src/viewmodels/admin/unit/{respiratoryGear => respiratory}/respiratoryGear.models.ts (100%) rename src/viewmodels/admin/unit/{respiratoryMission => respiratory}/respiratoryMission.models.ts (100%) rename src/viewmodels/admin/unit/{respiratoryWearer => respiratory}/respiratoryWearer.models.ts (100%) rename src/viewmodels/admin/unit/{vehicleType => vehicle}/vehicleType.models.ts (67%) rename src/viewmodels/admin/unit/{wearableType => wearable}/wearableType.models.ts (100%) diff --git a/src/enums/inspectionEnum.ts b/src/enums/inspectionEnum.ts new file mode 100644 index 0000000..5c87e55 --- /dev/null +++ b/src/enums/inspectionEnum.ts @@ -0,0 +1,5 @@ +export enum InspectionPointEnum { + oknok = "oknok", + text = "text", + number = "number", +} diff --git a/src/viewmodels/admin/unit/damageReport/damageReport.models.ts b/src/viewmodels/admin/unit/damageReport.models.ts similarity index 56% rename from src/viewmodels/admin/unit/damageReport/damageReport.models.ts rename to src/viewmodels/admin/unit/damageReport.models.ts index e1d7075..44bf661 100644 --- a/src/viewmodels/admin/unit/damageReport/damageReport.models.ts +++ b/src/viewmodels/admin/unit/damageReport.models.ts @@ -1,14 +1,9 @@ -import type { EquipmentViewModel } from "../equipment/equipment.models"; -import type { VehicleViewModel } from "../vehicle/vehicle.models"; -import type { WearableViewModel } from "../wearable/wearable.models"; +import type { EquipmentViewModel } from "./equipment/equipment.models"; +import type { MaintenanceViewModel } from "./maintenance.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; +export type DamageReportAssigned = { relatedId: string; } & ( | { @@ -25,8 +20,20 @@ export type DamageReportViewModel = { } ); +export type DamageReportViewModel = { + id: string; + reportedAt: Date; + status: string; + done: boolean; + description: string; + imageCount: number; + reportedBy: string; + maintenance?: MaintenanceViewModel; +} & DamageReportAssigned; + export interface CreateDamageReportViewModel { description: string; + reportedBy: string; affectedId: string; affected: "equipment" | "vehicle" | "wearable"; } diff --git a/src/viewmodels/admin/unit/equipment/equipment.models.ts b/src/viewmodels/admin/unit/equipment/equipment.models.ts index dcd4cea..abbdee7 100644 --- a/src/viewmodels/admin/unit/equipment/equipment.models.ts +++ b/src/viewmodels/admin/unit/equipment/equipment.models.ts @@ -1,5 +1,4 @@ -import type { EquipmentTypeViewModel } from "../equipmentType/equipmentType.models"; -import type { InspectionViewModel } from "../inspection/inspection.models"; +import type { EquipmentTypeViewModel } from "./equipmentType.models"; export interface EquipmentViewModel { id: string; @@ -10,7 +9,6 @@ export interface EquipmentViewModel { decommissioned?: Date; equipmentTypeId: string; equipmentType: EquipmentTypeViewModel; - inspections: Array; } export interface CreateEquipmentViewModel { diff --git a/src/viewmodels/admin/unit/equipmentType/equipmentType.models.ts b/src/viewmodels/admin/unit/equipment/equipmentType.models.ts similarity index 67% rename from src/viewmodels/admin/unit/equipmentType/equipmentType.models.ts rename to src/viewmodels/admin/unit/equipment/equipmentType.models.ts index e3116c9..fcf47ee 100644 --- a/src/viewmodels/admin/unit/equipmentType/equipmentType.models.ts +++ b/src/viewmodels/admin/unit/equipment/equipmentType.models.ts @@ -1,10 +1,7 @@ -import type { InspectionPlanViewModel } from "../inspectionPlan/inspectionPlan.models"; - export interface EquipmentTypeViewModel { id: string; type: string; description: string; - inspectionPlans: Array; } export interface CreateEquipmentTypeViewModel { diff --git a/src/viewmodels/admin/unit/inspection/inspection.models.ts b/src/viewmodels/admin/unit/inspection/inspection.models.ts index 8cd2e5f..6565377 100644 --- a/src/viewmodels/admin/unit/inspection/inspection.models.ts +++ b/src/viewmodels/admin/unit/inspection/inspection.models.ts @@ -1,8 +1,9 @@ import type { EquipmentViewModel } from "../equipment/equipment.models"; import type { InspectionPlanViewModel, + InspectionPointViewModel, InspectionVersionedPlanViewModel, -} from "../inspectionPlan/inspectionPlan.models"; +} from "./inspectionPlan.models"; import type { VehicleViewModel } from "../vehicle/vehicle.models"; export type InspectionViewModel = { @@ -33,5 +34,6 @@ export interface InspectionPointResultViewModel { inspectionId: string; inspectionVersionedPlanId: string; inspectionPointId: string; + inspectionPoint: InspectionPointViewModel; value: string; } diff --git a/src/viewmodels/admin/unit/inspectionPlan/inspectionPlan.models.ts b/src/viewmodels/admin/unit/inspection/inspectionPlan.models.ts similarity index 76% rename from src/viewmodels/admin/unit/inspectionPlan/inspectionPlan.models.ts rename to src/viewmodels/admin/unit/inspection/inspectionPlan.models.ts index 5f2df34..c5b1043 100644 --- a/src/viewmodels/admin/unit/inspectionPlan/inspectionPlan.models.ts +++ b/src/viewmodels/admin/unit/inspection/inspectionPlan.models.ts @@ -1,5 +1,6 @@ -import type { EquipmentTypeViewModel } from "../equipmentType/equipmentType.models"; -import type { VehicleTypeViewModel } from "../vehicleType/vehicleType.models"; +import type { InspectionPointEnum } from "@/enums/inspectionEnum"; +import type { EquipmentViewModel } from "../equipment/equipment.models"; +import type { VehicleViewModel } from "../vehicle/vehicle.models"; export type PlanTimeDefinition = `${number}-${"d" | "m" | "y"}` | `${number}/${number | "*"}`; @@ -15,11 +16,11 @@ export type InspectionPlanViewModel = { } & ( | { assigned: "equipment"; - related: EquipmentTypeViewModel; + related: EquipmentViewModel; } | { assigned: "vehicle"; - related: VehicleTypeViewModel; + related: VehicleViewModel; } ); @@ -34,8 +35,10 @@ export interface InspectionPointViewModel { id: string; title: string; description: string; - type: "iO-niO" | "text" | "number"; + type: InspectionPointEnum; min?: number; + max?: number; + sort: number; } export interface CreateInspectionPlanViewModel { diff --git a/src/viewmodels/admin/unit/maintenance.models.ts b/src/viewmodels/admin/unit/maintenance.models.ts new file mode 100644 index 0000000..7ccd66e --- /dev/null +++ b/src/viewmodels/admin/unit/maintenance.models.ts @@ -0,0 +1,43 @@ +import type { DamageReportViewModel } from "./damageReport.models"; +import type { EquipmentViewModel } from "./equipment/equipment.models"; +import type { VehicleViewModel } from "./vehicle/vehicle.models"; +import type { WearableViewModel } from "./wearable/wearable.models"; + +export type MaintenanceAssigned = { + relatedId: string; +} & ( + | { + assigned: "equipment"; + related: EquipmentViewModel; + } + | { + assigned: "vehicle"; + related: VehicleViewModel; + } + | { + assigned: "wearable"; + related: WearableViewModel; + } +); + +export type MaintenanceViewModel = { + id: string; + createdAt: Date; + status: string; + done: boolean; + description: string; + reports: DamageReportViewModel[]; +} & MaintenanceAssigned; + +export interface CreateMaintenanceViewModel { + description: string; + reportedBy: string; + affectedId: string; + affected: "equipment" | "vehicle" | "wearable"; +} + +export interface UpdateMaintenanceViewModel { + id: string; + status: string; + done: boolean; +} diff --git a/src/viewmodels/admin/unit/respiratoryGear/respiratoryGear.models.ts b/src/viewmodels/admin/unit/respiratory/respiratoryGear.models.ts similarity index 100% rename from src/viewmodels/admin/unit/respiratoryGear/respiratoryGear.models.ts rename to src/viewmodels/admin/unit/respiratory/respiratoryGear.models.ts diff --git a/src/viewmodels/admin/unit/respiratoryMission/respiratoryMission.models.ts b/src/viewmodels/admin/unit/respiratory/respiratoryMission.models.ts similarity index 100% rename from src/viewmodels/admin/unit/respiratoryMission/respiratoryMission.models.ts rename to src/viewmodels/admin/unit/respiratory/respiratoryMission.models.ts diff --git a/src/viewmodels/admin/unit/respiratoryWearer/respiratoryWearer.models.ts b/src/viewmodels/admin/unit/respiratory/respiratoryWearer.models.ts similarity index 100% rename from src/viewmodels/admin/unit/respiratoryWearer/respiratoryWearer.models.ts rename to src/viewmodels/admin/unit/respiratory/respiratoryWearer.models.ts diff --git a/src/viewmodels/admin/unit/vehicle/vehicle.models.ts b/src/viewmodels/admin/unit/vehicle/vehicle.models.ts index 0bfccb6..4e273f6 100644 --- a/src/viewmodels/admin/unit/vehicle/vehicle.models.ts +++ b/src/viewmodels/admin/unit/vehicle/vehicle.models.ts @@ -1,5 +1,4 @@ -import type { InspectionViewModel } from "../inspection/inspection.models"; -import type { VehicleTypeViewModel } from "../vehicleType/vehicleType.models"; +import type { VehicleTypeViewModel } from "./vehicleType.models"; export interface VehicleViewModel { id: string; @@ -10,7 +9,6 @@ export interface VehicleViewModel { decommissioned?: Date; vehicleTypeId: string; vehicleType: VehicleTypeViewModel; - inspections: Array; } export interface CreateVehicleViewModel { diff --git a/src/viewmodels/admin/unit/vehicleType/vehicleType.models.ts b/src/viewmodels/admin/unit/vehicle/vehicleType.models.ts similarity index 67% rename from src/viewmodels/admin/unit/vehicleType/vehicleType.models.ts rename to src/viewmodels/admin/unit/vehicle/vehicleType.models.ts index 2de497f..ea6c7cf 100644 --- a/src/viewmodels/admin/unit/vehicleType/vehicleType.models.ts +++ b/src/viewmodels/admin/unit/vehicle/vehicleType.models.ts @@ -1,10 +1,7 @@ -import type { InspectionPlanViewModel } from "../inspectionPlan/inspectionPlan.models"; - export interface VehicleTypeViewModel { id: string; type: string; description: string; - inspectionPlans: Array; } export interface CreateVehicleTypeViewModel { diff --git a/src/viewmodels/admin/unit/wearable/wearable.models.ts b/src/viewmodels/admin/unit/wearable/wearable.models.ts index cec2ece..aef67ae 100644 --- a/src/viewmodels/admin/unit/wearable/wearable.models.ts +++ b/src/viewmodels/admin/unit/wearable/wearable.models.ts @@ -1,5 +1,5 @@ import type { MemberViewModel } from "@/viewmodels/admin/club/member/member.models"; -import type { WearableTypeViewModel } from "../wearableType/wearableType.models"; +import type { WearableTypeViewModel } from "./wearableType.models"; export interface WearableViewModel { id: string; diff --git a/src/viewmodels/admin/unit/wearableType/wearableType.models.ts b/src/viewmodels/admin/unit/wearable/wearableType.models.ts similarity index 100% rename from src/viewmodels/admin/unit/wearableType/wearableType.models.ts rename to src/viewmodels/admin/unit/wearable/wearableType.models.ts