mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2026-03-10 22:31:46 +00:00
- Add FCM token registration during login/signup - Implement transaction notification listeners - Add notification data column to database - Update Firebase service with data payload support - Add transaction notification scopes - Update card repository to load relations for notifications
42 lines
1.5 KiB
TypeScript
42 lines
1.5 KiB
TypeScript
import { MailerModule } from '@nestjs-modules/mailer';
|
|
import { forwardRef, Module } from '@nestjs/common';
|
|
import { ConfigService } from '@nestjs/config';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { TwilioModule } from 'nestjs-twilio';
|
|
import { RedisModule } from '~/common/redis/redis.module';
|
|
import { buildMailerOptions, buildTwilioOptions } from '~/core/module-options';
|
|
import { UserModule } from '~/user/user.module';
|
|
import { NotificationsController } from './controllers';
|
|
import { Notification } from './entities';
|
|
import { NotificationCreatedListener, TransactionNotificationListener } from './listeners';
|
|
import { NotificationsRepository } from './repositories';
|
|
import { FirebaseService, NotificationFactory, NotificationsService, TwilioService } from './services';
|
|
|
|
@Module({
|
|
imports: [
|
|
forwardRef(() => RedisModule.register()),
|
|
forwardRef(() => UserModule),
|
|
TypeOrmModule.forFeature([Notification]),
|
|
TwilioModule.forRootAsync({
|
|
useFactory: buildTwilioOptions,
|
|
inject: [ConfigService],
|
|
}),
|
|
MailerModule.forRootAsync({
|
|
useFactory: buildMailerOptions,
|
|
inject: [ConfigService],
|
|
}),
|
|
],
|
|
providers: [
|
|
NotificationsService,
|
|
NotificationFactory,
|
|
FirebaseService,
|
|
NotificationsRepository,
|
|
TwilioService,
|
|
NotificationCreatedListener,
|
|
TransactionNotificationListener,
|
|
],
|
|
exports: [NotificationsService, NotificationFactory, NotificationCreatedListener],
|
|
controllers: [NotificationsController],
|
|
})
|
|
export class NotificationModule {}
|