import { Module } from '@nestjs/common';
import { CommonController } from './common.controller';
import { CommonService } from './common.service';
import { TypeOrmModule } from '@nestjs/typeorm';
import { JwtStrategy } from './jwt/jwt.strategy';
import { JwtAuthGuard } from './guards/jwt-auth.guard';
import { HttpExceptionFilter } from './filters/http-exception.filter';
import { AllExceptionsFilter } from './filters/all-exceptions.filter';
import { LoggingInterceptor } from './interceptors/logging.interceptor';
import { TransformInterceptor } from './interceptors/transform.interceptor';

@Module({
  controllers: [CommonController],
  providers: [
    CommonService,
    JwtStrategy,
    JwtAuthGuard,
    HttpExceptionFilter,
    AllExceptionsFilter,
    LoggingInterceptor,
    TransformInterceptor,
  ],
  exports: [
    JwtStrategy,
    JwtAuthGuard,
    HttpExceptionFilter,
    AllExceptionsFilter,
    LoggingInterceptor,
    TransformInterceptor,
  ],
})
export class CommonModule {}
