43 lines
1.5 KiB
TypeScript
43 lines
1.5 KiB
TypeScript
import { MiddlewareConsumer, Module, NestModule, RequestMethod } from '@nestjs/common'
|
|
import { JwtService } from '@nestjs/jwt'
|
|
import { AdminController } from './admin.controller'
|
|
import { AdminMiddleware } from './admin.middleware'
|
|
import { AdminConsumersModule } from './consumers/consumers.module'
|
|
import { AdminDeviceBrandsModule } from './device-brands/device-brands.module'
|
|
import { AdminDevicesModule } from './devices/devices.module'
|
|
import { AdminGuildsModule } from './guilds/guilds.module'
|
|
import { AdminLicensesModule } from './licenses/licenses.module'
|
|
import { AdminPartnersModule } from './partners/partners.module'
|
|
import { AdminProvidersModule } from './providers/providers.module'
|
|
import { AdminTranslateModule } from './translate/translate.module'
|
|
import { AdminUserAccountsModule } from './users/accounts/accounts.module'
|
|
import { AdminUsersModule } from './users/users.module'
|
|
|
|
@Module({
|
|
controllers: [AdminController],
|
|
imports: [
|
|
AdminUsersModule,
|
|
AdminUserAccountsModule,
|
|
AdminTranslateModule,
|
|
AdminProvidersModule,
|
|
AdminPartnersModule,
|
|
AdminPartnersModule,
|
|
AdminGuildsModule,
|
|
AdminDeviceBrandsModule,
|
|
AdminDevicesModule,
|
|
AdminLicensesModule,
|
|
AdminConsumersModule,
|
|
],
|
|
providers: [JwtService],
|
|
})
|
|
export class AdminModule implements NestModule {
|
|
configure(consumer: MiddlewareConsumer) {
|
|
// apply middleware to all routes within this module (scoped under /admin)
|
|
consumer.apply(AdminMiddleware).forRoutes({
|
|
path: '/admin*path',
|
|
method: RequestMethod.ALL,
|
|
version: '1',
|
|
})
|
|
}
|
|
}
|