62 lines
1.8 KiB
TypeScript
62 lines
1.8 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { AppController } from './app.controller';
|
|
import { AppService } from './app.service';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { UserModule } from './user/user.module';
|
|
import { AuthModule } from './auth/auth.module';
|
|
import { VerificationModule } from './verification/verification.module';
|
|
import { NotificationModule } from './notification/notification.module';
|
|
import { ResourceModule } from './resource/resource.module';
|
|
import { BlogModule } from './blog/blog.module';
|
|
import { AdminModule } from './admin/admin.module';
|
|
import { OssModule } from './oss/oss.module';
|
|
import { ThrottlerModule } from '@nestjs/throttler';
|
|
import { CaptchaModule } from './captcha/captcha.module';
|
|
import { SmsModule } from './sms/sms.module';
|
|
import { CommonModule } from './common/common.module';
|
|
import { AppDataSource } from './data-source';
|
|
|
|
@Module({
|
|
imports: [
|
|
ConfigModule.forRoot({ isGlobal: true }),
|
|
TypeOrmModule.forRootAsync({
|
|
useFactory: () => AppDataSource.options,
|
|
}),
|
|
ThrottlerModule.forRoot({
|
|
ignoreUserAgents: [/googlebot/i, /bingbot/i],
|
|
throttlers: [
|
|
{
|
|
name: 'min',
|
|
limit: 100,
|
|
ttl: 60 * 1000,
|
|
},
|
|
{
|
|
name: 'hour',
|
|
limit: 500,
|
|
ttl: 60 * 60 * 1000,
|
|
},
|
|
{
|
|
name: 'day',
|
|
limit: 10000,
|
|
ttl: 24 * 60 * 60 * 1000,
|
|
},
|
|
],
|
|
}),
|
|
UserModule,
|
|
AuthModule,
|
|
VerificationModule,
|
|
NotificationModule,
|
|
ResourceModule,
|
|
BlogModule,
|
|
AdminModule,
|
|
OssModule,
|
|
CaptchaModule,
|
|
SmsModule,
|
|
CommonModule,
|
|
],
|
|
controllers: [AppController],
|
|
providers: [AppService],
|
|
})
|
|
export class AppModule { }
|