refactor(pay-periods): removed employe_id from pay_load

This commit is contained in:
Matthieu Haineault 2025-08-19 15:46:18 -04:00
parent f765a99273
commit 220f5901dd
3 changed files with 20 additions and 18 deletions

View File

@ -3100,11 +3100,6 @@
"EmployeePeriodOverviewDto": { "EmployeePeriodOverviewDto": {
"type": "object", "type": "object",
"properties": { "properties": {
"employee_id": {
"type": "number",
"example": 42,
"description": "Employees.id (clé primaire num.)"
},
"employee_name": { "employee_name": {
"type": "string", "type": "string",
"example": "Alex Dupont", "example": "Alex Dupont",
@ -3147,7 +3142,6 @@
} }
}, },
"required": [ "required": [
"employee_id",
"employee_name", "employee_name",
"regular_hours", "regular_hours",
"evening_hours", "evening_hours",

View File

@ -1,11 +1,17 @@
import { ApiProperty } from '@nestjs/swagger'; import { ApiProperty } from '@nestjs/swagger';
import { Allow, IsOptional } from 'class-validator';
export class EmployeePeriodOverviewDto { export class EmployeePeriodOverviewDto {
@ApiProperty({ // @ApiProperty({
example: 42, // example: 42,
description: "Employees.id (clé primaire num.)", // description: "Employees.id (clé primaire num.)",
}) // })
employee_id: number; // @Allow()
// @IsOptional()
// employee_id: number;
email:string;
@ApiProperty({ @ApiProperty({
example: 'Alex Dupont', example: 'Alex Dupont',

View File

@ -79,6 +79,7 @@ export class PayPeriodsQueryService {
user: { select: { user: { select: {
first_name: true, first_name: true,
last_name: true, last_name: true,
email: true,
} }, } },
} }, } },
}, },
@ -101,7 +102,8 @@ export class PayPeriodsQueryService {
id: true, id: true,
user: { select: { user: { select: {
first_name: true, first_name: true,
last_name: true last_name: true,
email: true,
} }, } },
} }, } },
} }, } },
@ -115,7 +117,7 @@ export class PayPeriodsQueryService {
if (options?.seed_names) { if (options?.seed_names) {
for (const [id, name] of options.seed_names.entries()) { for (const [id, name] of options.seed_names.entries()) {
by_employee.set(id, { by_employee.set(id, {
employee_id: id, email: '',
employee_name: name, employee_name: name,
regular_hours: 0, regular_hours: 0,
evening_hours: 0, evening_hours: 0,
@ -131,7 +133,7 @@ export class PayPeriodsQueryService {
const ensure = (id: number, name: string) => { const ensure = (id: number, name: string) => {
if (!by_employee.has(id)) { if (!by_employee.has(id)) {
by_employee.set(id, { by_employee.set(id, {
employee_id: id, email: '',
employee_name: name, employee_name: name,
regular_hours: 0, regular_hours: 0,
evening_hours: 0, evening_hours: 0,
@ -235,7 +237,7 @@ private async resolveCrew(supervisor_id: number, include_subtree: boolean):
let frontier = await this.prisma.employees.findMany({ let frontier = await this.prisma.employees.findMany({
where: { supervisor_id: supervisor_id }, where: { supervisor_id: supervisor_id },
select: { id: true, user: { select: { first_name: true, last_name: true } } }, select: { id: true, user: { select: { first_name: true, last_name: true, email: true } } },
}); });
result.push(...frontier.map(emp => ({ id: emp.id, first_name: emp.user.first_name, last_name: emp.user.last_name }))); result.push(...frontier.map(emp => ({ id: emp.id, first_name: emp.user.first_name, last_name: emp.user.last_name })));
@ -245,10 +247,10 @@ private async resolveCrew(supervisor_id: number, include_subtree: boolean):
const parent_ids = frontier.map(emp => emp.id); const parent_ids = frontier.map(emp => emp.id);
const next = await this.prisma.employees.findMany({ const next = await this.prisma.employees.findMany({
where: { supervisor_id: { in: parent_ids } }, where: { supervisor_id: { in: parent_ids } },
select: { id: true, user: { select: { first_name: true, last_name: true } } }, select: { id: true, user: { select: { first_name: true, last_name: true, email: true } } },
}); });
if (next.length === 0) break; if (next.length === 0) break;
result.push(...next.map(emp => ({ id: emp.id, first_name: emp.user.first_name, last_name: emp.user.last_name }))); result.push(...next.map(emp => ({ id: emp.id, first_name: emp.user.first_name, last_name: emp.user.last_name, email: emp.user.email })));
frontier = next; frontier = next;
} }