From f6069f3bdd1239677deafd2ad5faa8e916fea2de Mon Sep 17 00:00:00 2001 From: Etienne Loupias <eloupias@grandlyon.com> Date: Wed, 12 Mar 2025 13:42:26 +0100 Subject: [PATCH] wip inProgress / history --- src/orientation/dto/orientation.dto.ts | 6 +++--- src/orientation/orientation.schema.ts | 6 +++++- src/orientation/orientation.service.ts | 11 +++++++++-- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/orientation/dto/orientation.dto.ts b/src/orientation/dto/orientation.dto.ts index c9de222f1..9b4a2446e 100644 --- a/src/orientation/dto/orientation.dto.ts +++ b/src/orientation/dto/orientation.dto.ts @@ -136,8 +136,8 @@ export class OrientationDto { @Type(() => customStructureDto) structureOrientator: string | customStructureDto; - @ApiProperty({ enum: ['pending', 'acknowledged', 'completed'] }) + @ApiProperty({ enum: ['pending', 'acknowledged', 'completed', 'uncompleted', 'expired'] }) @IsNotEmpty() - @IsEnum(['pending', 'acknowledged', 'completed']) - status: 'pending' | 'acknowledged' | 'completed'; + @IsEnum(['pending', 'acknowledged', 'completed', 'uncompleted', 'expired']) + status: 'pending' | 'acknowledged' | 'completed' | 'uncompleted' | 'expired'; } diff --git a/src/orientation/orientation.schema.ts b/src/orientation/orientation.schema.ts index 7bd1d1728..d69cb673b 100644 --- a/src/orientation/orientation.schema.ts +++ b/src/orientation/orientation.schema.ts @@ -98,7 +98,11 @@ export class Orientation { @Prop({ type: mongoose.Schema.Types.Mixed }) structureOrientator: string | customStructure; - @Prop({ required: true, enum: ['pending', 'acknowledged', 'completed'], default: 'pending' }) + @Prop({ + required: true, + enum: ['pending', 'acknowledged', 'completed', 'uncompleted', 'expired'], + default: 'pending', + }) status: string; } diff --git a/src/orientation/orientation.service.ts b/src/orientation/orientation.service.ts index f7e04c85f..e44b74514 100644 --- a/src/orientation/orientation.service.ts +++ b/src/orientation/orientation.service.ts @@ -39,6 +39,7 @@ export class OrientationService { public async find(userId: string, structureId: string = null): Promise<any> { try { + const historyStatus = ['completed', 'uncompleted', 'expired']; let myOrientationsFilters; let todoOrientationsFilters; @@ -58,8 +59,14 @@ export class OrientationService { } return { - myOrientations: await this.findWithFilters(myOrientationsFilters), - todoOrientations: await this.findWithFilters(todoOrientationsFilters), + myOrientations: { + inProgress: await this.findWithFilters({ ...myOrientationsFilters, status: { $nin: historyStatus } }), + history: await this.findWithFilters({ ...myOrientationsFilters, status: { $in: historyStatus } }), + }, + todoOrientations: { + inProgress: await this.findWithFilters({ ...todoOrientationsFilters, status: { $nin: historyStatus } }), + history: await this.findWithFilters({ ...todoOrientationsFilters, status: { $in: historyStatus } }), + }, }; } catch (e) { this.logger.error(`Error fetching orientations with details: ${e.message}`); -- GitLab