From 06a70523fee5ab27a2d4e3d4a1afc2a9ce20d5f9 Mon Sep 17 00:00:00 2001 From: emilymendelson Date: Wed, 20 Mar 2024 18:19:45 -0400 Subject: [PATCH] UpdatedBy bug fixes --- src/build/routes.ts | 1 + src/build/swagger.json | 20 ++++++++++++++++++-- src/controllers/UserController.ts | 3 +++ src/db/AccessRequest.db.ts | 5 ++++- src/helpers/types.ts | 2 ++ src/tests/commonResponses.ts | 1 + 6 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/build/routes.ts b/src/build/routes.ts index 7608443..8276188 100644 --- a/src/build/routes.ts +++ b/src/build/routes.ts @@ -485,6 +485,7 @@ const models: TsoaRoute.Models = { "userName": {"dataType":"string","required":true}, "givenName": {"dataType":"string","required":true}, "lastName": {"dataType":"string","required":true}, + "updatedBy": {"dataType":"string","required":true}, }, "additionalProperties": false, }, diff --git a/src/build/swagger.json b/src/build/swagger.json index f691ca2..4db05c6 100644 --- a/src/build/swagger.json +++ b/src/build/swagger.json @@ -1256,6 +1256,9 @@ }, "lastName": { "type": "string" + }, + "updatedBy": { + "type": "string" } }, "required": [ @@ -1265,10 +1268,23 @@ "email", "userName", "givenName", - "lastName" + "lastName", + "updatedBy" ], "type": "object", - "additionalProperties": false + "additionalProperties": false, + "example": { + "userId": "82dc08e5-cbca-40c2-9d35-a4d1407d5f8d", + "userGuid": "A84D1AB221334298956C47A7B623E983", + "identityType": "idir", + "role": "Admin", + "organization": "Bc Service", + "email": "abc@gov.ca", + "userName": "johndoe", + "givenName": "John", + "lastName": "Doe", + "updatedBy": "ABC123" + } }, "userDeactivateRequestBody": { "description": "Request body for deactivation of one or multiple users", diff --git a/src/controllers/UserController.ts b/src/controllers/UserController.ts index 3b32a95..381d60f 100644 --- a/src/controllers/UserController.ts +++ b/src/controllers/UserController.ts @@ -226,6 +226,9 @@ export class UserController extends Controller { ...(existingUser[0].lastName !== requestBody.lastName && { lastName: requestBody.lastName, }), + ...(existingUser[0].updatedBy !== requestBody.updatedBy && { + updatedBy: requestBody.updatedBy, + }), }; await updateUser(userId, updateFields, requestBody); } catch (err) { diff --git a/src/db/AccessRequest.db.ts b/src/db/AccessRequest.db.ts index c471a49..947a8bb 100644 --- a/src/db/AccessRequest.db.ts +++ b/src/db/AccessRequest.db.ts @@ -90,7 +90,10 @@ export async function updateRequestStatus( idList.push(where); } if (action === requestStatusType.Granted) { - updateFields = { requestStatus: requestStatusType.Granted }; + updateFields = { + requestStatus: requestStatusType.Granted, + updatedBy: username, + }; templateId = process.env.GC_NOTIFY_ACCESS_APPROVE_EMAIL_TEMPLATE_ID!; } diff --git a/src/helpers/types.ts b/src/helpers/types.ts index 2c5ca09..88f712c 100644 --- a/src/helpers/types.ts +++ b/src/helpers/types.ts @@ -751,6 +751,7 @@ export interface userList { "userName": "johndoe", "givenName": "John", "lastName": "Doe", + "updatedBy": "ABC123" } */ export interface userUpdateRequestBody { @@ -761,6 +762,7 @@ export interface userUpdateRequestBody { userName: string; givenName: string; lastName: string; + updatedBy: string; } /** diff --git a/src/tests/commonResponses.ts b/src/tests/commonResponses.ts index 8bc3980..c85d5ff 100644 --- a/src/tests/commonResponses.ts +++ b/src/tests/commonResponses.ts @@ -1026,6 +1026,7 @@ export const UserUpdateRequestBody: userUpdateRequestBody = { userId: '123', userName: 'JohnDoe', organization: 'BC Government', + updatedBy: 'ABC123', }; export const UsersMultiResponse = [