diff --git a/services/apps/alcs/src/alcs/notification/notification.controller.ts b/services/apps/alcs/src/alcs/notification/notification.controller.ts index 016b6b9536..ed7b14ca28 100644 --- a/services/apps/alcs/src/alcs/notification/notification.controller.ts +++ b/services/apps/alcs/src/alcs/notification/notification.controller.ts @@ -1,4 +1,7 @@ -import { ServiceNotFoundException } from '@app/common/exceptions/base.exception'; +import { + BaseServiceException, + ServiceNotFoundException, +} from '@app/common/exceptions/base.exception'; import { Body, Controller, @@ -120,11 +123,18 @@ export class NotificationController { ); if (document) { - await this.notificationSubmissionService.sendAndRecordLTSAPackage( - submission, - document, - user, - ); + const emailDidSend = + await this.notificationSubmissionService.sendAndRecordLTSAPackage( + submission, + document, + user, + ); + + if (!emailDidSend) { + throw new BaseServiceException( + `Failed to send LTSA Package ${fileNumber}`, + ); + } } else { throw new ServiceNotFoundException( `Failed to find LTSA Letter on File Number ${fileNumber}`, diff --git a/services/apps/alcs/src/portal/notification-submission/notification-submission.service.ts b/services/apps/alcs/src/portal/notification-submission/notification-submission.service.ts index e69108c141..72c6777912 100644 --- a/services/apps/alcs/src/portal/notification-submission/notification-submission.service.ts +++ b/services/apps/alcs/src/portal/notification-submission/notification-submission.service.ts @@ -406,7 +406,7 @@ export class NotificationSubmissionService { submission: NotificationSubmission, document: NotificationDocument, user: User, - ) { + ): Promise { const templateData = await this.generateSrwEmailData(submission, document); const didSend = await this.emailService.sendEmail({ @@ -442,6 +442,8 @@ export class NotificationSubmissionService { NOTIFICATION_STATUS.ALC_RESPONSE_SENT, ); } + + return didSend; } private async generateSrwEmailData( @@ -470,7 +472,7 @@ export class NotificationSubmissionService { ); if (localGovernment && localGovernment.emails) { - ccEmails = localGovernment.emails; + ccEmails = localGovernment.emails.filter((email) => email !== ''); } } diff --git a/services/apps/alcs/src/providers/email/email.service.ts b/services/apps/alcs/src/providers/email/email.service.ts index eccac508bd..5a0394348d 100644 --- a/services/apps/alcs/src/providers/email/email.service.ts +++ b/services/apps/alcs/src/providers/email/email.service.ts @@ -102,7 +102,7 @@ export class EmailService { parentId?: string; triggerStatus?: string; attachments?: Document[]; - }) { + }): Promise { const serviceUrl = this.config.get('CHES.URL'); const from = this.config.get('CHES.FROM'); const token = await this.getToken(); @@ -134,7 +134,7 @@ export class EmailService { { to, body, subject, cc, bcc }, 'EmailService did not send the email. Set CHES.MODE to production if you need to send an email.', ); - return; + return false; } const res = await firstValueFrom( this.httpService.post<{