mirror of
https://github.com/HamzaSha1/zod-backend.git
synced 2026-03-10 17:11:44 +00:00
- Added validation for card reference and limit in CardService to ensure data integrity. - Improved error handling with detailed logging for invalid card states. - Updated transaction notification listener to fetch parent account details and adjust balance notifications accordingly. - Enhanced notification creation process to include status management for better tracking.
60 lines
2.1 KiB
TypeScript
60 lines
2.1 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 { CardModule } from '~/card/card.module';
|
|
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 {
|
|
CardNotificationListener,
|
|
KycNotificationListener,
|
|
MoneyRequestNotificationListener,
|
|
NotificationCreatedListener,
|
|
ProfileNotificationListener,
|
|
SystemAlertNotificationListener,
|
|
TransactionNotificationListener,
|
|
} from './listeners';
|
|
import { NotificationsRepository } from './repositories';
|
|
import { FirebaseService, NotificationFactory, NotificationsService, TwilioService } from './services';
|
|
import { MessagingSystemFactory, RedisPubSubMessagingService } from './services/messaging';
|
|
|
|
@Module({
|
|
imports: [
|
|
forwardRef(() => RedisModule.register()),
|
|
forwardRef(() => UserModule),
|
|
forwardRef(() => CardModule),
|
|
TypeOrmModule.forFeature([Notification]),
|
|
TwilioModule.forRootAsync({
|
|
useFactory: buildTwilioOptions,
|
|
inject: [ConfigService],
|
|
}),
|
|
MailerModule.forRootAsync({
|
|
useFactory: buildMailerOptions,
|
|
inject: [ConfigService],
|
|
}),
|
|
],
|
|
providers: [
|
|
NotificationsService,
|
|
NotificationFactory,
|
|
FirebaseService,
|
|
NotificationsRepository,
|
|
TwilioService,
|
|
NotificationCreatedListener,
|
|
TransactionNotificationListener,
|
|
MoneyRequestNotificationListener,
|
|
KycNotificationListener,
|
|
CardNotificationListener,
|
|
ProfileNotificationListener,
|
|
SystemAlertNotificationListener,
|
|
RedisPubSubMessagingService,
|
|
MessagingSystemFactory,
|
|
],
|
|
exports: [NotificationsService, NotificationFactory, NotificationCreatedListener],
|
|
controllers: [NotificationsController],
|
|
})
|
|
export class NotificationModule {}
|