update
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
export type BuchungsArt = 'intern' | 'extern' | 'wartung' | 'reservierung' | 'sonstiges';
|
||||
export type BuchungsArt = 'intern' | 'extern' | 'wartung' | 'reservierung' | 'sonstiges' | 'lehrgang';
|
||||
|
||||
export const BUCHUNGS_ART_LABELS: Record<BuchungsArt, string> = {
|
||||
intern: 'Intern',
|
||||
@@ -6,6 +6,7 @@ export const BUCHUNGS_ART_LABELS: Record<BuchungsArt, string> = {
|
||||
wartung: 'Wartung/Service',
|
||||
reservierung: 'Reservierung',
|
||||
sonstiges: 'Sonstiges',
|
||||
lehrgang: 'Lehrgang',
|
||||
};
|
||||
|
||||
export const BUCHUNGS_ART_COLORS: Record<BuchungsArt, string> = {
|
||||
@@ -14,6 +15,7 @@ export const BUCHUNGS_ART_COLORS: Record<BuchungsArt, string> = {
|
||||
wartung: '#616161',
|
||||
reservierung: '#7b1fa2',
|
||||
sonstiges: '#00695c',
|
||||
lehrgang: '#0288d1',
|
||||
};
|
||||
|
||||
export interface FahrzeugBuchungListItem {
|
||||
@@ -45,6 +47,8 @@ export interface Fahrzeug {
|
||||
kurzname: string | null;
|
||||
amtliches_kennzeichen: string | null;
|
||||
status: string;
|
||||
ausser_dienst_von: string | null;
|
||||
ausser_dienst_bis: string | null;
|
||||
}
|
||||
|
||||
export interface CreateBuchungInput {
|
||||
|
||||
@@ -6,14 +6,12 @@ export enum FahrzeugStatus {
|
||||
Einsatzbereit = 'einsatzbereit',
|
||||
AusserDienstWartung = 'ausser_dienst_wartung',
|
||||
AusserDienstSchaden = 'ausser_dienst_schaden',
|
||||
InLehrgang = 'in_lehrgang',
|
||||
}
|
||||
|
||||
export const FahrzeugStatusLabel: Record<FahrzeugStatus, string> = {
|
||||
[FahrzeugStatus.Einsatzbereit]: 'Einsatzbereit',
|
||||
[FahrzeugStatus.AusserDienstWartung]: 'Außer Dienst (Wartung)',
|
||||
[FahrzeugStatus.AusserDienstSchaden]: 'Außer Dienst (Schaden)',
|
||||
[FahrzeugStatus.InLehrgang]: 'In Lehrgang',
|
||||
};
|
||||
|
||||
export type WartungslogArt =
|
||||
@@ -23,6 +21,12 @@ export type WartungslogArt =
|
||||
|
||||
// ── API Response Shapes ───────────────────────────────────────────────────────
|
||||
|
||||
export interface AktiverLehrgang {
|
||||
titel: string;
|
||||
beginn: string;
|
||||
ende: string;
|
||||
}
|
||||
|
||||
export interface FahrzeugListItem {
|
||||
id: string;
|
||||
bezeichnung: string;
|
||||
@@ -33,12 +37,15 @@ export interface FahrzeugListItem {
|
||||
besatzung_soll: string | null;
|
||||
status: FahrzeugStatus;
|
||||
status_bemerkung: string | null;
|
||||
ausser_dienst_von: string | null;
|
||||
ausser_dienst_bis: string | null;
|
||||
bild_url: string | null;
|
||||
paragraph57a_faellig_am: string | null;
|
||||
paragraph57a_tage_bis_faelligkeit: number | null;
|
||||
naechste_wartung_am: string | null;
|
||||
wartung_tage_bis_faelligkeit: number | null;
|
||||
naechste_pruefung_tage: number | null;
|
||||
aktiver_lehrgang: AktiverLehrgang | null;
|
||||
}
|
||||
|
||||
export interface FahrzeugWartungslog {
|
||||
@@ -67,6 +74,8 @@ export interface FahrzeugDetail {
|
||||
besatzung_soll: string | null;
|
||||
status: FahrzeugStatus;
|
||||
status_bemerkung: string | null;
|
||||
ausser_dienst_von: string | null;
|
||||
ausser_dienst_bis: string | null;
|
||||
standort: string;
|
||||
bild_url: string | null;
|
||||
created_at: string;
|
||||
@@ -76,6 +85,7 @@ export interface FahrzeugDetail {
|
||||
naechste_wartung_am: string | null;
|
||||
wartung_tage_bis_faelligkeit: number | null;
|
||||
naechste_pruefung_tage: number | null;
|
||||
aktiver_lehrgang: AktiverLehrgang | null;
|
||||
wartungslog: FahrzeugWartungslog[];
|
||||
}
|
||||
|
||||
@@ -123,8 +133,22 @@ export type UpdateFahrzeugPayload = {
|
||||
};
|
||||
|
||||
export interface UpdateStatusPayload {
|
||||
status: FahrzeugStatus;
|
||||
bemerkung?: string;
|
||||
status: FahrzeugStatus;
|
||||
bemerkung?: string;
|
||||
ausserDienstVon?: string; // ISO datetime, required when status is ausser_dienst_*
|
||||
ausserDienstBis?: string; // ISO datetime, required when status is ausser_dienst_*
|
||||
}
|
||||
|
||||
export interface OverlappingBooking {
|
||||
id: string;
|
||||
titel: string;
|
||||
beginn: string;
|
||||
ende: string;
|
||||
gebucht_von_name: string;
|
||||
}
|
||||
|
||||
export interface StatusUpdateResponse {
|
||||
overlappingBookings: OverlappingBooking[];
|
||||
}
|
||||
|
||||
export interface CreateWartungslogPayload {
|
||||
|
||||
Reference in New Issue
Block a user