targo-backend/src/modules/timesheets/dtos/timesheet-period.dto.ts

53 lines
1.1 KiB
TypeScript

export class ShiftDto {
start: string;
end : string;
is_approved: boolean;
}
export class ExpenseDto {
amount: number;
is_approved: boolean;
}
export type DayShiftsDto = ShiftDto[];
export class DetailedShifts {
shifts: DayShiftsDto;
total_hours: number;
short_date: string;
break_durations?: number;
}
export class DayExpensesDto {
cash: ExpenseDto[] = [];
km : ExpenseDto[] = [];
[otherType:string]: ExpenseDto[] | any; //pour si on ajoute d'autre type de dépenses
}
export class WeekDto {
is_approved: boolean;
shifts: {
sun: DetailedShifts;
mon: DetailedShifts;
tue: DetailedShifts;
wed: DetailedShifts;
thu: DetailedShifts;
fri: DetailedShifts;
sat: DetailedShifts;
}
expenses: {
sun: DayExpensesDto;
mon: DayExpensesDto;
tue: DayExpensesDto;
wed: DayExpensesDto;
thu: DayExpensesDto;
fri: DayExpensesDto;
sat: DayExpensesDto;
}
}
export class TimesheetPeriodDto {
week1: WeekDto;
week2: WeekDto;
}