icynet-auth-server/src/modules/api/api.module.ts

31 lines
995 B
TypeScript
Raw Normal View History

2022-08-27 08:59:26 +00:00
import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common';
2022-09-15 16:21:05 +00:00
import * as cors from 'cors';
2022-08-27 08:59:26 +00:00
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 {
2022-09-15 16:21:05 +00:00
private corsOpts = cors({ origin: true, credentials: true });
2022-08-27 08:59:26 +00:00
constructor(private _service: OAuth2Service) {}
configure(consumer: MiddlewareConsumer) {
consumer.apply(this._service.oauth.express()).forRoutes('/api*');
2022-09-15 16:21:05 +00:00
consumer.apply(this.corsOpts).forRoutes(ApiController);
2022-08-27 08:59:26 +00:00
}
}