From c0e2d4f64928f1b6c033fa73ffb8bf41dc6dc066 Mon Sep 17 00:00:00 2001 From: nourshoreibah Date: Wed, 16 Apr 2025 17:54:29 -0400 Subject: [PATCH 1/2] Add api query tag for swagger --- apps/backend/src/applications/applications.controller.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/backend/src/applications/applications.controller.ts b/apps/backend/src/applications/applications.controller.ts index b160eb0b..2d430209 100644 --- a/apps/backend/src/applications/applications.controller.ts +++ b/apps/backend/src/applications/applications.controller.ts @@ -12,6 +12,8 @@ import { ApplicationsService } from './applications.service'; import { ApplicationsModel } from './applications.model'; import { ApplicationStatus } from './applications.model'; import { NewApplicationInput } from '../dtos/newApplicationsDTO'; +import { ApiQuery, ApiTags } from '@nestjs/swagger'; + @Controller('applications') export class ApplicationsController { @@ -35,6 +37,12 @@ export class ApplicationsController { } @Put('editApplication/:appId') + @ApiQuery({ + name: 'applicationStatus', + enum: ApplicationStatus, + required: true, + description: 'The new status to set for the application', + }) public async changeApplicationStatus( @Param('appId') appId: number, @Query('applicationStatus') appStatus: ApplicationStatus, From 271eadada32d29a485a7a16fa60a4b29b2bb1192 Mon Sep 17 00:00:00 2001 From: nourshoreibah Date: Wed, 16 Apr 2025 17:54:37 -0400 Subject: [PATCH 2/2] add logic to deal with denial --- .../src/applications/applications.service.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/apps/backend/src/applications/applications.service.ts b/apps/backend/src/applications/applications.service.ts index 639f36c6..ed1815ca 100644 --- a/apps/backend/src/applications/applications.service.ts +++ b/apps/backend/src/applications/applications.service.ts @@ -97,7 +97,24 @@ export class ApplicationsService { emailData, ); console.log('Lambda result: ', lambdaResult); - } + } else if (appStatus === ApplicationStatus.DENIED) { + const user = await this.userService.getUser(application.userId.N); + const site = await this.siteService.getSite(application.siteId.N); + const name = user.firstName; + const email = user.email; + const siteName = site.siteName; + + const emailData = { + firstName: name, + userEmail: email, + siteName: siteName, + }; + const lambdaResult = await this.lambdaService.invokeLambda( + 'giSendApplicationDenied', + emailData, + ); + console.log('Lambda result: ', lambdaResult); + } return this.mapDynamoDBItemToApplication(updatedApplication); } catch (e) { throw new Error('Unable to update application status: ' + e);