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

View File

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

View File

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