refactor(emails): restructure email system and add recording notifications

- Move email templates to separate files in src/emails/templates/
- Create new email service architecture (service.js, index.js)
- Add recording suggestions email template for matching notifications
- Integrate email notifications with matching system (sends when suggestions created)
- Update controllers (auth.js, user.js) to use new email module
- Update tests to use new email module path
- Remove deprecated src/utils/email.js

Features:
- Template-based email system for easy editing
- Automatic email notifications when recording assignments are made
- Clean separation between template logic and sending logic
- Graceful error handling for AWS SES failures
This commit is contained in:
Radosław Gierwiało
2025-12-02 19:19:22 +01:00
parent 231d3d177c
commit b77ccab9d4
12 changed files with 605 additions and 325 deletions

View File

@@ -7,7 +7,7 @@ const {
generateVerificationCode,
getTokenExpiry
} = require('../utils/auth');
const { sendVerificationEmail, sendWelcomeEmail, sendPasswordResetEmail } = require('../utils/email');
const { sendVerificationEmail, sendWelcomeEmail, sendPasswordResetEmail } = require('../emails');
const { sanitizeForEmail, timingSafeEqual } = require('../utils/sanitize');
const securityConfig = require('../config/security');

View File

@@ -1,6 +1,6 @@
const { prisma } = require('../utils/db');
const { hashPassword, comparePassword, generateToken, generateVerificationToken, generateVerificationCode } = require('../utils/auth');
const { sendVerificationEmail } = require('../utils/email');
const { sendVerificationEmail } = require('../emails');
const { sanitizeForEmail } = require('../utils/sanitize');
/**