Files
passport/lib/passport.module.ts
Дмитрий be1e21e699
Some checks failed
Publish / Publish Job (push) Failing after 37s
first commit
2026-03-27 10:38:23 +03:00

35 lines
1007 B
TypeScript

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]
}
}
}