diff --git a/apps/backend/src/emails/emailTemplates.ts b/apps/backend/src/emails/emailTemplates.ts index 7d4b8c0f3..4046e6435 100644 --- a/apps/backend/src/emails/emailTemplates.ts +++ b/apps/backend/src/emails/emailTemplates.ts @@ -98,4 +98,25 @@ export const emailTemplates = {
Best regards,
The Securing Safe Food Team
Hi ${params.volunteerName},
++ Your pantry assignment with SSF has been updated. Please log into the platform + to review your current assignments and any active requests that may require your attention. +
++ Thank you for your continued support of our partners and mission. +
+Best regards,
The Securing Safe Food Team
+ To view your pantry assignments, please click the following link: + ${EMAIL_REDIRECT_URL}/volunteer-assigned-pantries +
+ `, + }), }; diff --git a/apps/backend/src/volunteers/volunteers.module.ts b/apps/backend/src/volunteers/volunteers.module.ts index 003910968..01997c832 100644 --- a/apps/backend/src/volunteers/volunteers.module.ts +++ b/apps/backend/src/volunteers/volunteers.module.ts @@ -8,6 +8,7 @@ import { VolunteersService } from './volunteers.service'; import { UsersModule } from '../users/users.module'; import { RequestsModule } from '../foodRequests/request.module'; import { OrdersModule } from '../orders/order.module'; +import { EmailsModule } from '../emails/email.module'; @Module({ imports: [ @@ -17,6 +18,7 @@ import { OrdersModule } from '../orders/order.module'; forwardRef(() => AuthModule), RequestsModule, OrdersModule, + EmailsModule, ], controllers: [VolunteersController], providers: [VolunteersService], diff --git a/apps/backend/src/volunteers/volunteers.service.ts b/apps/backend/src/volunteers/volunteers.service.ts index b3cfe114d..af4ae0d2b 100644 --- a/apps/backend/src/volunteers/volunteers.service.ts +++ b/apps/backend/src/volunteers/volunteers.service.ts @@ -9,6 +9,8 @@ import { PantriesService } from '../pantries/pantries.service'; import { UsersService } from '../users/users.service'; import { Assignments, VolunteerOrder } from './types'; import { RequestsService } from '../foodRequests/request.service'; +import { EmailsService } from '../emails/email.service'; +import { emailTemplates } from '../emails/emailTemplates'; import { OrdersService } from '../orders/order.service'; import { FoodRequestSummaryDto } from '../foodRequests/dtos/food-request-summary.dto'; @@ -20,6 +22,7 @@ export class VolunteersService { private usersService: UsersService, private pantriesService: PantriesService, private requestsService: RequestsService, + private emailsService: EmailsService, private ordersService: OrdersService, ) {} @@ -85,7 +88,15 @@ export class VolunteersService { ); volunteer.pantries = [...existingPantries, ...newPantries]; - return this.repo.save(volunteer); + const saved = await this.repo.save(volunteer); + + const { subject, bodyHTML } = + emailTemplates.volunteerPantryAssignmentChanged({ + volunteerName: `${volunteer.firstName} ${volunteer.lastName}`, + }); + await this.emailsService.sendEmails([volunteer.email], subject, bodyHTML); + + return saved; } async findRequestsByVolunteer(