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

63 lines
1.3 KiB
TypeScript

export class Timesheets {
employee_fullname: string;
timesheets: Timesheet[];
}
export class Timesheet {
timesheet_id: number;
is_approved: boolean;
days: TimesheetDay[];
weekly_hours: TotalHours[];
weekly_expenses: TotalExpenses[];
}
export class TimesheetDay {
date: string;
shifts: Shift[];
expenses: Expense[];
daily_hours: TotalHours[];
daily_expenses: TotalExpenses[];
}
export class TotalHours {
regular: number;
evening: number;
emergency: number;
overtime: number;
vacation: number;
holiday: number;
sick: number;
}
export class TotalExpenses {
expenses: number;
perd_diem: number;
on_call: number;
mileage: number;
}
export class Shift {
date: string;
start_time: string;
end_time: string;
type: string;
is_remote: boolean;
is_approved: boolean;
shift_id?: number | null;
comment?: string | null;
}
export class Expense {
date: string;
is_approved: boolean;
comment: string;
amount?: number;
mileage?: number;
attachment?: string;
expense_id?: number | null;
supervisor_comment?: string | null;
}