import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { JwtModule } from '@nestjs/jwt';
import { CodigosVerificacionModule } from 'src/codigos-verificacion/codigos-verificacion.module';
import { PrismaModule } from 'src/prisma/prisma.module';
import { QueuesModule } from 'src/queues/queues.module';
import { winstonConfig } from '../common/logger/winston.config';
import { UsersController } from './users.controller';
import { UsersService } from './users.service';

@Module({
  imports: [
    PrismaModule,
    QueuesModule,
    CodigosVerificacionModule,
    ConfigModule,
    JwtModule.registerAsync({
      inject: [ConfigService],
      useFactory: (config: ConfigService) => ({
        secret: config.get('JWT_SECRET'),
        signOptions: { expiresIn: '30s' },
      }),
    }),
  ],
  controllers: [UsersController],
  providers: [UsersService],
  exports: [UsersService],
})
export class UsersModule {}
