import { Module } from '@nestjs/common';
import { IsCodeExpiredRule } from './decorators/codeexpired.decorator';
import { IsCodeValidRule } from './decorators/codevaild.decorator';
import { CodesModule } from '../codes/codes.module';
import { CodesService } from '../codes/codes.service';
import { DatabaseModule } from '../database/database.module';
import { DatabaseService } from '../database/database.service';
import { IsCodeUsedRule } from './decorators/codeused.decorator';
import { DisallowedCnamesRule } from './decorators/disallowedcname.decorator';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { ValidDomainRule } from './decorators/validdomain.decorator';
import { CommonController } from './common.controller';
import { IsAlbumValidRule } from './decorators/albumvalid.decorator';
import { AlbumsModule } from '../albums/albums.module';
import { AlbumsService } from '../albums/albums.service';
import { IsUploadValidRule } from './decorators/uploadvalid.decorator';
import { UploadsModule } from '../uploads/uploads.module';
import { UploadsService } from '../uploads/uploads.service';
import { CloudModule } from '../cloud/cloud.module';
import { BezosService } from '../cloud/bezos.service';
import { UsersModule } from '../users/users.module';
import { UsersService } from '../users/users.service';
import { EmailsModule } from '../emails/emails.module';
import { EmailsService } from '../emails/emails.service';
import { CacheModule } from '../cache/cache.module';
import { CacheService } from '../cache/cache.service';
import { CloudflareService } from '../cloud/cloudflare/cloudflare.service';
import { LocaleInterceptor } from './locale.interceptor';
import { UtilsModule } from '../utils/utils.module';
import { UtilsService } from '../utils/utils.service';
@Module({
providers: [
UploadsService,
AlbumsService,
CodesService,
BezosService,
DatabaseService,
CloudflareService,
UsersService,
IsCodeExpiredRule,
CacheService,
EmailsService,
IsCodeValidRule,
IsCodeUsedRule,
DisallowedCnamesRule,
ValidDomainRule,
ConfigService,
IsAlbumValidRule,
IsUploadValidRule,
LocaleInterceptor,
UtilsService,
],
imports: [
CodesModule,
DatabaseModule,
ConfigModule,
AlbumsModule,
UploadsModule,
CloudModule,
UsersModule,
EmailsModule,
CacheModule,
UtilsModule,
],
controllers: [CommonController],
exports: [LocaleInterceptor],
})
export class CommonModule {}