mirror of
https://github.com/donpat1to/Schichtenplaner.git
synced 2026-01-21 18:39:41 +01:00
set template shift struc
This commit is contained in:
@@ -1,17 +1,37 @@
|
||||
// backend/src/models/Shift.ts
|
||||
export interface ShiftTemplate {
|
||||
export interface Shift {
|
||||
id: string;
|
||||
name: string;
|
||||
shifts: TemplateShift[];
|
||||
description?: string;
|
||||
isDefault: boolean;
|
||||
createdBy: string;
|
||||
createdAt: string;
|
||||
shifts: ShiftSlot[];
|
||||
}
|
||||
|
||||
export interface TemplateShift {
|
||||
dayOfWeek: number; // 0-6
|
||||
export interface ShiftSlot {
|
||||
id: string;
|
||||
shiftId: string;
|
||||
dayOfWeek: number;
|
||||
name: string;
|
||||
startTime: string; // "08:00"
|
||||
endTime: string; // "12:00"
|
||||
startTime: string;
|
||||
endTime: string;
|
||||
requiredEmployees: number;
|
||||
color?: string;
|
||||
}
|
||||
|
||||
export interface CreateShiftRequest {
|
||||
name: string;
|
||||
description?: string;
|
||||
isDefault: boolean;
|
||||
shifts: Omit<ShiftSlot, 'id' | 'shiftId'>[];
|
||||
}
|
||||
|
||||
export interface UpdateShiftSlotRequest {
|
||||
name?: string;
|
||||
description?: string;
|
||||
isDefault?: boolean;
|
||||
shifts?: Omit<ShiftSlot, 'id' | 'shiftId'>[];
|
||||
}
|
||||
|
||||
export interface ShiftPlan {
|
||||
@@ -32,4 +52,4 @@ export interface AssignedShift {
|
||||
endTime: string;
|
||||
requiredEmployees: number;
|
||||
assignedEmployees: string[];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,30 +1,35 @@
|
||||
// backend/src/models/ShiftTemplate.ts
|
||||
export interface ShiftTemplate {
|
||||
export interface TemplateShift {
|
||||
id: string;
|
||||
name: string;
|
||||
description?: string;
|
||||
isDefault: boolean;
|
||||
createdBy: string;
|
||||
createdAt: string;
|
||||
shifts: TemplateShift[];
|
||||
shifts: TemplateShiftSlot[];
|
||||
}
|
||||
|
||||
export interface TemplateShift {
|
||||
export interface TemplateShiftSlot {
|
||||
id: string;
|
||||
templateId: string;
|
||||
dayOfWeek: number;
|
||||
name: string;
|
||||
startTime: string;
|
||||
endTime: string;
|
||||
timeRange: TemplateShiftTimeRange;
|
||||
requiredEmployees: number;
|
||||
color?: string;
|
||||
}
|
||||
|
||||
export interface TemplateShiftTimeRange {
|
||||
id: string;
|
||||
name: string; // e.g., "Frühschicht", "Spätschicht"
|
||||
startTime: string;
|
||||
endTime: string;
|
||||
}
|
||||
|
||||
export interface CreateShiftTemplateRequest {
|
||||
name: string;
|
||||
description?: string;
|
||||
isDefault: boolean;
|
||||
shifts: Omit<TemplateShift, 'id' | 'templateId'>[];
|
||||
timeSlots: Omit<TemplateShiftTimeRange, 'id'>[];
|
||||
}
|
||||
|
||||
export interface UpdateShiftTemplateRequest {
|
||||
@@ -32,4 +37,5 @@ export interface UpdateShiftTemplateRequest {
|
||||
description?: string;
|
||||
isDefault?: boolean;
|
||||
shifts?: Omit<TemplateShift, 'id' | 'templateId'>[];
|
||||
timeSlots?: Omit<TemplateShiftTimeRange, 'id'>[];
|
||||
}
|
||||
Reference in New Issue
Block a user