import { Module, NestModule, MiddlewareConsumer } from '@nestjs/common'; import { TenantMiddleware } from './tenant.middleware'; import { TenantDatabaseService } from './tenant-database.service'; import { TenantProvisioningService } from './tenant-provisioning.service'; import { TenantProvisioningController } from './tenant-provisioning.controller'; import { CentralAdminController } from './central-admin.controller'; import { TenantController } from './tenant.controller'; import { PrismaModule } from '../prisma/prisma.module'; @Module({ imports: [PrismaModule], controllers: [TenantProvisioningController, CentralAdminController, TenantController], providers: [ TenantDatabaseService, TenantProvisioningService, TenantMiddleware, ], exports: [TenantDatabaseService, TenantProvisioningService], }) export class TenantModule implements NestModule { configure(consumer: MiddlewareConsumer) { consumer.apply(TenantMiddleware).forRoutes('*'); } }