This commit is contained in:
34
lib/passport.module.ts
Normal file
34
lib/passport.module.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import { type DynamicModule, Global, Module } from '@nestjs/common'
|
||||
|
||||
import { PASSPORT_OPTIONS } from './constants'
|
||||
import type { PassportAsyncOptions, PassportOptions } from './interfaces'
|
||||
import {
|
||||
createPassportAsyncOptionsProvider,
|
||||
createPassportOptionsProvider
|
||||
} from './passport.provider'
|
||||
import { PassportService } from './passport.service'
|
||||
|
||||
@Global()
|
||||
@Module({})
|
||||
export class PassportModule {
|
||||
public static register(options: PassportOptions): DynamicModule {
|
||||
const optionsProvider = createPassportOptionsProvider(options)
|
||||
|
||||
return {
|
||||
module: PassportModule,
|
||||
providers: [optionsProvider, PassportService],
|
||||
exports: [PassportService, PASSPORT_OPTIONS]
|
||||
}
|
||||
}
|
||||
|
||||
public static registerAsync(options: PassportAsyncOptions): DynamicModule {
|
||||
const optionsProvider = createPassportAsyncOptionsProvider(options)
|
||||
|
||||
return {
|
||||
module: PassportModule,
|
||||
imports: options.imports ?? [],
|
||||
providers: [optionsProvider, PassportService],
|
||||
exports: [PassportService, PASSPORT_OPTIONS]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user