Files
lib/src/auth/config.ts

30 lines
766 B
TypeScript
Raw Normal View History

import {Instantiable} from '../di'
import {ORMUserRepository} from './orm/ORMUserRepository'
2021-10-18 12:48:16 -05:00
import {OAuth2LoginConfig} from './external/oauth2/OAuth2LoginController'
/**
* Inferface for type-checking the AuthenticatableRepositories values.
*/
export interface AuthenticatableRepositoryMapping {
orm: Instantiable<ORMUserRepository>,
}
/**
* String mapping of AuthenticatableRepository implementations.
*/
export const AuthenticatableRepositories: AuthenticatableRepositoryMapping = {
orm: ORMUserRepository,
}
/**
* Interface for making the auth config type-safe.
*/
export interface AuthConfig {
repositories: {
session: keyof AuthenticatableRepositoryMapping,
2021-10-18 12:48:16 -05:00
},
sources?: {
[key: string]: OAuth2LoginConfig,
},
}