fix(timesheets): ajusted type of function mapOneTimesheet

This commit is contained in:
Matthieu Haineault 2025-11-12 14:13:04 -05:00
parent c59844560a
commit 14c00522db
3 changed files with 110 additions and 116 deletions

View File

@ -1,6 +1,5 @@
import { toDateFromString, toStringFromDate, weekStartSunday } from "src/time-and-attendance/utils/date-time.utils";
import { EmailToIdResolver } from "src/time-and-attendance/utils/resolve-email-id.utils";
// import { NormalizedExpense } from "src/time-and-attendance/utils/type.utils";
import { expense_select } from "src/time-and-attendance/utils/selects.utils";
import { PrismaService } from "src/prisma/prisma.service";
import { GetExpenseDto } from "src/time-and-attendance/expenses/dtos/expense-get.dto";

View File

@ -1,5 +1,3 @@
import { BankCodeEntity } from "src/modules/bank-codes/dtos/bank-code-entity";
export class ShiftEntity {
id: number;
timesheet_id: number;
@ -10,5 +8,4 @@ export class ShiftEntity {
is_remote: boolean;
is_approved: boolean;
comment?: string | null ;
bank_code?: BankCodeEntity;
}

View File

@ -5,7 +5,7 @@ import { PrismaService } from "src/prisma/prisma.service";
import { EmailToIdResolver } from "src/time-and-attendance/utils/resolve-email-id.utils";
import { Timesheet, TimesheetEntity, Timesheets } from "src/time-and-attendance/time-tracker/timesheets/dtos/timesheet.dto";
import { Result } from "src/common/errors/result-error.factory";
import { Users } from "@prisma/client";
import { Prisma, Users } from "@prisma/client";
import { ShiftEntity } from "src/time-and-attendance/time-tracker/shifts/dtos/shift-entity.dto";
import { ExpenseEntity } from "src/time-and-attendance/expenses/dtos/expense-entity.dto";
@ -105,7 +105,13 @@ export class GetTimesheetsOverviewService {
});
}
private async mapOneTimesheet(timesheet: TimesheetResult): Promise<Timesheet> {
private async mapOneTimesheet(timesheet: Prisma.TimesheetsGetPayload<{
include: {
employee: { include: { user } },
shift: { include: { bank_code } },
expense: { include: { bank_code } },
}
}>): Promise<Timesheet> {
//converts string to UTC date format
const start = toDateFromString(timesheet.start_date);
const day_dates = sevenDaysFrom(start);
@ -246,14 +252,6 @@ export class GetTimesheetsOverviewService {
}
}
interface TimesheetResult extends TimesheetEntity {
employee: {
user: Users
},
shift: ShiftEntity[],
expense: ExpenseEntity[],
}
//filled array with default values
const emptyHours = (): TotalHours => { return { regular: 0, evening: 0, emergency: 0, overtime: 0, vacation: 0, holiday: 0, sick: 0 } };
const emptyExpenses = (): TotalExpenses => { return { expenses: 0, per_diem: 0, on_call: 0, mileage: 0 } };