import { Module } from '@nestjs/common'; import { JwtModule } from '@nestjs/jwt'; import { ConfigModule, ConfigService } from '@nestjs/config'; import { MessagesController } from './messages.controller'; import { MessagesService } from './messages.service'; import { MessagesGateway } from './messages.gateway'; import { PrismaModule } from '../prisma/prisma.module'; import { SupportChatModule } from '../support-chat/support-chat.module'; import { ConnectionRequestsModule } from '../connection-requests/connection-requests.module'; import { RedisPresenceService } from '../common/services/redis-presence.service'; @Module({ imports: [ PrismaModule, SupportChatModule, ConnectionRequestsModule, ConfigModule, JwtModule.registerAsync({ imports: [ConfigModule], inject: [ConfigService], useFactory: (configService: ConfigService) => ({ secret: configService.get('JWT_SECRET'), signOptions: { expiresIn: '15m', }, }), }), ], controllers: [MessagesController], providers: [MessagesService, MessagesGateway, RedisPresenceService], exports: [MessagesService, MessagesGateway, RedisPresenceService], }) export class MessagesModule {}