45 lines
1.4 KiB
TypeScript
45 lines
1.4 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { ServeStaticModule } from '@nestjs/serve-static';
|
|
import { ThrottlerModule } from '@nestjs/throttler';
|
|
import { join } from 'path';
|
|
import { AppController } from './app.controller';
|
|
import { AppService } from './app.service';
|
|
import { CSRFMiddleware } from './middleware/csrf.middleware';
|
|
import { ApiModule } from './modules/api/api.module';
|
|
import { ConfigurationModule } from './modules/config/config.module';
|
|
|
|
import { JWTModule } from './modules/jwt/jwt.module';
|
|
import { SSRFrontEndModule } from './modules/ssr-front-end/ssr-front-end.module';
|
|
import { UtilityModule } from './modules/utility/utility.module';
|
|
import { WellKnownModule } from './modules/well-known/well-known.module';
|
|
import { CommonCacheModule } from './modules/cache/cache.module';
|
|
|
|
@Module({
|
|
imports: [
|
|
ServeStaticModule.forRoot({
|
|
rootPath: join(__dirname, '..', 'uploads'),
|
|
serveRoot: '/uploads',
|
|
serveStaticOptions: {
|
|
cacheControl: true,
|
|
maxAge: 8 * 60 * 60 * 1000,
|
|
},
|
|
}),
|
|
ThrottlerModule.forRoot([
|
|
{
|
|
ttl: 10000,
|
|
limit: 10,
|
|
},
|
|
]),
|
|
ConfigurationModule,
|
|
UtilityModule,
|
|
CommonCacheModule,
|
|
JWTModule,
|
|
SSRFrontEndModule,
|
|
WellKnownModule,
|
|
ApiModule,
|
|
],
|
|
controllers: [AppController],
|
|
providers: [AppService, CSRFMiddleware],
|
|
})
|
|
export class AppModule {}
|