porcellus
03/22/2022, 11:32 AMts
import {
MiddlewareConsumer,
Module,
NestModule,
DynamicModule,
FactoryProvider,
ModuleMetadata,
} from '@nestjs/common';
import { ConfigInjectionToken, AuthModuleConfig } from './config.interface';
type ModuleRootConf = Omit<FactoryProvider<AuthModuleConfig>, "provide" | "scope"> & Pick<ModuleMetadata, 'imports'>;
@Module({
providers: [],
exports: [],
controllers: [],
})
export class AuthModule implements NestModule {
configure(consumer: MiddlewareConsumer) {
}
static forRoot({ useFactory, inject, imports }: ModuleRootConf): DynamicModule {
return {
providers: [
{
useFactory,
inject,
provide: ConfigInjectionToken,
},
],
imports,
exports: [],
module: AuthModule,
};
}
}