fix(shifts): fix bank_code_id by type

This commit is contained in:
Matthieu Haineault 2025-10-14 10:58:43 -04:00
parent feeb19bbf0
commit 8ad8076f4d
2 changed files with 7 additions and 4 deletions

View File

@ -94,6 +94,7 @@ export class ShiftsHelpersService {
date_only: Date;
norm: Normalized;
bank_code_id: number;
comment?: string;
},
) {
const { timesheet_id, date_only, norm, bank_code_id } = params;

View File

@ -8,6 +8,7 @@ import { PrismaService } from "src/prisma/prisma.service";
import { toDateOnly } from "../helpers/shifts-date-time-helpers";
import { UpsertAction } from "src/modules/shared/types/upsert-actions.types";
import { ShiftsHelpersService } from "../helpers/shifts.helpers";
import { BankCodesResolver } from "src/modules/shared/utils/resolve-bank-type-id.utils";
@Injectable()
export class ShiftsCommandService extends BaseApprovalService<Shifts> {
@ -16,6 +17,7 @@ export class ShiftsCommandService extends BaseApprovalService<Shifts> {
constructor(
prisma: PrismaService,
private readonly emailResolver: EmailToIdResolver,
private readonly typeResolver: BankCodesResolver,
private readonly helpersService: ShiftsHelpersService,
) { super(prisma); }
@ -99,7 +101,7 @@ export class ShiftsCommandService extends BaseApprovalService<Shifts> {
end_time: new_norm_shift.end_time,
is_remote: new_norm_shift.is_remote,
is_approved: new_norm_shift.is_approved,
comment: new_norm_shift.comment ?? '',
comment: new_norm_shift.comment ?? null,
bank_code_id: new_bank_code_id,
},
});
@ -144,7 +146,7 @@ export class ShiftsCommandService extends BaseApprovalService<Shifts> {
start_time: new_norm_shift.start_time,
end_time: new_norm_shift.end_time,
is_remote: new_norm_shift.is_remote,
comment: new_norm_shift.comment ?? '',
comment: new_norm_shift.comment ?? null,
bank_code_id: new_bank_code_id,
},
});
@ -169,13 +171,13 @@ export class ShiftsCommandService extends BaseApprovalService<Shifts> {
const { id: timesheet_id } = await this.helpersService.ensureTimesheet(tx, employee_id, date_only);
const old_norm_shift = await this.helpersService.normalizeRequired(dto.old_shift, 'old_shift');
const old_bank_code_id = await this.helpersService.resolveBankIdRequired(tx, old_norm_shift.type, 'old_shift');
const old_bank_code_id = await this.typeResolver.findByType(old_norm_shift.type);
const existing = await this.helpersService.findExactOldShift(tx, {
timesheet_id,
date_only,
norm: old_norm_shift,
bank_code_id: old_bank_code_id,
bank_code_id: old_bank_code_id.id,
});
if(!existing) throw new NotFoundException('[SHIFT_STALE]- The shift was modified or deleted by someone else');