import { Module } from '@nestjs/common'; import { APP_GUARD } from '@nestjs/core'; import { AuthGuard, KeycloakConnectModule, ResourceGuard, RoleGuard } from 'nest-keycloak-connect'; import { AppController } from './app.controller'; import { ConfigModule } from './config/config.module'; import { KeycloakConfigService } from './config/keycloak-config.service'; import { ProductModule } from './product/product.module'; @Module({ imports: [ KeycloakConnectModule.registerAsync({ useExisting: KeycloakConfigService, imports: [ConfigModule] }), ProductModule, ], providers: [ { provide: APP_GUARD, useClass: AuthGuard, }, { provide: APP_GUARD, useClass: ResourceGuard, }, { provide: APP_GUARD, useClass: RoleGuard, }, ], controllers: [AppController], }) export class AppModule {}