feat: handle notification using redis

This commit is contained in:
Abdalhamid Alhamad
2025-03-27 12:33:01 +03:00
parent ec38b82a7b
commit a3f88c774c
14 changed files with 206 additions and 91 deletions

View File

@ -3,15 +3,19 @@ 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 } from './listeners';
import { NotificationsRepository } from './repositories';
import { FirebaseService, NotificationsService, TwilioService } from './services';
@Module({
imports: [
forwardRef(() => RedisModule.register()),
forwardRef(() => UserModule),
TypeOrmModule.forFeature([Notification]),
TwilioModule.forRootAsync({
useFactory: buildTwilioOptions,
@ -21,10 +25,15 @@ import { FirebaseService, NotificationsService, TwilioService } from './services
useFactory: buildMailerOptions,
inject: [ConfigService],
}),
forwardRef(() => UserModule),
],
providers: [NotificationsService, FirebaseService, NotificationsRepository, TwilioService],
exports: [NotificationsService],
providers: [
NotificationsService,
FirebaseService,
NotificationsRepository,
TwilioService,
NotificationCreatedListener,
],
exports: [NotificationsService, NotificationCreatedListener],
controllers: [NotificationsController],
})
export class NotificationModule {}