diff --git a/backend/src/services/v2/smtp/smtp.ts b/backend/src/services/v2/smtp/smtp.ts index 3c9bc11f2..87443f061 100644 --- a/backend/src/services/v2/smtp/smtp.ts +++ b/backend/src/services/v2/smtp/smtp.ts @@ -41,7 +41,10 @@ export async function requestReviewForRelease(entity: string, review: ReviewDoc, { title: 'Model ID', data: release.modelId }, { title: 'Your Role', data: review.role.toUpperCase() }, { title: 'Semver', data: release.semver }, - { title: 'Created By', data: release.createdBy }, + { + title: 'Created By', + data: (await authentication.getUserInformation(toEntity('user', release.createdBy))).name || release.createdBy, + }, ], [ { name: 'Open Release', url: 'TODO' }, @@ -68,7 +71,12 @@ export async function requestReviewForAccessRequest( { title: 'Model ID', data: accessRequest.modelId }, { title: 'Your Role', data: review.role.toUpperCase() }, { title: 'Entities Requesting Access', data: accessRequest.metadata.overview.entities.toString() }, - { title: 'Created By', data: accessRequest.createdBy }, + { + title: 'Created By', + data: + (await authentication.getUserInformation(toEntity('user', accessRequest.createdBy))).name || + accessRequest.createdBy, + }, ], [ { name: 'Open Access Request', url: 'TODO' }, @@ -90,8 +98,11 @@ export async function notifyReviewResponseForRelease(review: ReviewDoc, release: log.info('response not found') return } + const emailContent = buildEmail( - `Release ${release.semver} has been reviewed by ${reviewResponse?.user}`, + `Release ${release.semver} has been reviewed by ${ + (await authentication.getUserInformation(toEntity('user', reviewResponse?.user))).name || reviewResponse?.user + }`, [ { title: 'Model ID', data: release.modelId }, { title: 'Reviewer Role', data: review.role.toUpperCase() }, @@ -117,7 +128,9 @@ export async function notifyReviewResponseForAccess(review: ReviewDoc, accessReq return } const emailContent = buildEmail( - `Access request for model ${accessRequest.modelId} has been reviewed by ${reviewResponse.user}`, + `Access request for model ${accessRequest.modelId} has been reviewed by ${ + (await authentication.getUserInformation(toEntity('user', reviewResponse?.user))).name || reviewResponse?.user + }`, [ { title: 'Model ID', data: accessRequest.modelId }, { title: 'Reviewer Role', data: review.role.toUpperCase() }, diff --git a/backend/test/services/smtp/smtp.spec.ts b/backend/test/services/smtp/smtp.spec.ts index 93aaf769a..ff0faa3ce 100644 --- a/backend/test/services/smtp/smtp.spec.ts +++ b/backend/test/services/smtp/smtp.spec.ts @@ -62,6 +62,7 @@ vi.mock('nodemailer', async () => ({ const authenticationMock = vi.hoisted(() => ({ getUserInformationList: vi.fn(() => [Promise.resolve({ email: 'email@email.com' })]), + getUserInformation: vi.fn(() => [Promise.resolve({ name: 'Joe Blogs' })]), })) vi.mock('../../../src/connectors/v2/authentication/index.js', async () => ({ default: authenticationMock })) @@ -123,6 +124,7 @@ describe('services > smtp > smtp', () => { test('that an email is sent for Access Request Reviews', async () => { await requestReviewForAccessRequest('user:user', review, access) + authenticationMock.getUserInformation.mockReturnValueOnce([Promise.resolve({ name: 'Joe Blogs' })]) expect(transporterMock.sendMail.mock.calls.at(0)).toMatchSnapshot() })