import { Module } from '@nestjs/common'; import { DadosferaLogger } from '@dadosfera/dadosfera-logs'; import { AuthenticationGuard } from './authentication/authentication.guard'; import { APP_GUARD } from '@nestjs/core'; import { UsersModule } from './modules/users/users.module'; import { RolesModule } from './modules/roles/roles.module'; import { ConnectorModule } from './modules/connector/connector.module'; import { AuthModule } from './modules/auth/auth.module'; import { PermissionsModule } from './modules/permissions/permissions.module'; import { TermsOfUseModule } from './modules/termsOfUse/termsOfUse.module'; import { ConnectionModule } from './modules/connection/connection.module'; import { ConnectionTestModule } from './modules/connection-test/connection-test.module'; import { NetworkConfigModule } from './modules/network-config/network-config.module'; import { InputsModule } from './modules/inputs/inputs.module'; import { OauthModule } from './modules/oauth/oauth.module'; import { PipelinesModule } from './modules/pipelines/pipelines.module'; import { TransformationsModule } from './modules/transformations/transformations.module'; import { HealthModule } from './modules/health/health.module'; import { CatalogModule } from './modules/catalog/catalog.module'; import { ConfigModule } from '@nestjs/config'; import { PipelinesV2Module } from './modules/pipelinesV2/pipelines.module'; import { ProductboardModule } from './modules/productboard/productboard.module'; import { MixpanelModule } from './modules/mixpanel/mixpanel.module'; import { CustomersModule } from './modules/customers/customers.module'; import { OpenDataModule } from './modules/open-data/open-data.module'; import { ThemeModule } from './modules/theme/theme.module'; import { NetworkPolicyModule } from './modules/network-policy/network-policy.module'; @Module({ providers: [ DadosferaLogger, { provide: APP_GUARD, useClass: AuthenticationGuard, }, ], imports: [ ConfigModule.forRoot({ isGlobal: true, }), AuthModule, ConnectionModule, NetworkConfigModule, InputsModule, PipelinesV2Module, CatalogModule, ConnectorModule, PermissionsModule, TermsOfUseModule, ConnectionTestModule, PipelinesModule, TransformationsModule, UsersModule, RolesModule, OauthModule, ProductboardModule, MixpanelModule, CustomersModule, OpenDataModule, ThemeModule, //Always leave HealthModule last, so it is on the bottom of swagger HealthModule, NetworkPolicyModule ], }) export class AppModule {}