import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common'; import { ConfigurationModule } from '../config/config.module'; import { JWTModule } from '../jwt/jwt.module'; import { OAuth2Module } from '../oauth2/oauth2.module'; import { OAuth2Service } from '../oauth2/oauth2.service'; import { ObjectsModule } from '../objects/objects.module'; import { AdminApiModule } from './admin/admin.module'; import { ApiController } from './api.controller'; @Module({ controllers: [ApiController], imports: [ ConfigurationModule, JWTModule, ObjectsModule, AdminApiModule, OAuth2Module, ], }) export class ApiModule implements NestModule { constructor(private _service: OAuth2Service) {} configure(consumer: MiddlewareConsumer) { consumer.apply(this._service.oauth.express()).forRoutes('/api*'); } }