/
githubmirror
/
novu
Обзор
Документация
Войти
/
githubmirror
/
novu
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
next
apps/ws/src/shared/shared.module.ts
67 строк
2 KB
Himanshu Garg
feat(api,worker,application-generic): introduction of SQS as queue option in the system (#9895)
24 фев 2026, 15:38
Не верифицирован
24 фев 2026, 15:38
a155898
Код
Авторство
О чём код?
import { Module } from '@nestjs/common'; import { JwtModule } from '@nestjs/jwt'; import { AnalyticsService, createNestLoggingModuleOptions, DalServiceHealthIndicator, LoggerModule, QueuesModule, WebSocketsInMemoryProviderService, } from '@novu/application-generic'; import { DalService, MessageRepository, NotificationRepository, SubscriberRepository } from '@novu/dal'; import { JobTopicNameEnum } from '@novu/shared'; import packageJson from '../../package.json'; import { SubscriberOnlineService } from './subscriber-online'; const DAL_MODELS = [SubscriberRepository, NotificationRepository, MessageRepository]; const dalService = { provide: DalService, useFactory: async () => { const service = new DalService(); await service.connect(String(process.env.MONGO_URL)); return service; }, }; const analyticsService = { provide: AnalyticsService, useFactory: async () => { const service = new AnalyticsService(process.env.SEGMENT_TOKEN, 500); await service.initialize(); return service; }, }; const PROVIDERS = [ analyticsService, dalService, DalServiceHealthIndicator, SubscriberOnlineService, WebSocketsInMemoryProviderService, ...DAL_MODELS, ]; @Module({ imports: [ LoggerModule.forRoot( createNestLoggingModuleOptions({ serviceName: packageJson.name, version: packageJson.version, }) ), QueuesModule.forRoot([JobTopicNameEnum.WEB_SOCKETS]), JwtModule.register({ secretOrKeyProvider: () => process.env.JWT_SECRET as string, signOptions: { expiresIn: 360000, }, }), ], providers: [...PROVIDERS], exports: [...PROVIDERS, JwtModule, LoggerModule, QueuesModule], }) export class SharedModule {}