import {Instantiable} from '../di' import {ORMUserRepository} from './orm/ORMUserRepository' import {OAuth2LoginConfig} from './external/oauth2/OAuth2LoginController' /** * Inferface for type-checking the AuthenticatableRepositories values. */ export interface AuthenticatableRepositoryMapping { orm: Instantiable, } /** * 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, }, sources?: { [key: string]: OAuth2LoginConfig, }, }