feat(notifications): add multi-channel notification module with Email, FCM, templates, and event listeners
- Domain: NotificationLog/NotificationPreference entities, repositories, channel value object - Infrastructure: EmailService (nodemailer/SMTP), FcmService (firebase-admin), TemplateService (Handlebars) - Application: SendNotification CQRS command, UserRegistered + AgentVerified event listeners - Presentation: NotificationsController with history, preferences, and templates endpoints - Prisma: NotificationLog and NotificationPreference models with proper indexes - Templates: Vietnamese notification templates for user.registered, agent.verified, listing.approved, inquiry.received, password.reset Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
16
apps/api/src/modules/notifications/domain/index.ts
Normal file
16
apps/api/src/modules/notifications/domain/index.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
export type { NotificationEntity, NotificationStatus } from './entities/notification.entity';
|
||||
export type { NotificationPreferenceEntity } from './entities/notification-preference.entity';
|
||||
export { NotificationSentEvent } from './events/notification-sent.event';
|
||||
export {
|
||||
NOTIFICATION_REPOSITORY,
|
||||
type INotificationRepository,
|
||||
type CreateNotificationDto,
|
||||
} from './repositories/notification.repository';
|
||||
export {
|
||||
NOTIFICATION_PREFERENCE_REPOSITORY,
|
||||
type INotificationPreferenceRepository,
|
||||
} from './repositories/notification-preference.repository';
|
||||
export {
|
||||
NotificationChannel,
|
||||
ALL_CHANNELS,
|
||||
} from './value-objects/notification-channel.vo';
|
||||
Reference in New Issue
Block a user