first commit
Some checks failed
Publish / Publish Job (push) Failing after 37s

This commit is contained in:
Дмитрий
2026-03-27 10:38:23 +03:00
commit be1e21e699
21 changed files with 1002 additions and 0 deletions

33
lib/passport.provider.ts Normal file
View File

@@ -0,0 +1,33 @@
import type { Provider } from '@nestjs/common'
import { PASSPORT_OPTIONS } from './constants'
import type { PassportAsyncOptions, PassportOptions } from './interfaces'
export function createPassportOptionsProvider(
options: PassportOptions
): Provider {
return {
provide: PASSPORT_OPTIONS,
useValue: Object.freeze({ ...options })
}
}
export function createPassportAsyncOptionsProvider(
options: PassportAsyncOptions
): Provider {
return {
provide: PASSPORT_OPTIONS,
useFactory: async (...args: any[]) => {
const resolved = await options.useFactory!(...args)
if (!resolved || typeof resolved.secretKey !== 'string') {
throw new Error(
'[Passport Module] "secretKey" обязателен для заполнения и должен быть строкой.'
)
}
return Object.freeze({ ...resolved })
},
inject: options.inject ?? []
}
}