nephele
Version:
Highly customizable and extensible WebDAV server for Node.js and Express.
24 lines (23 loc) • 919 B
TypeScript
import type { Request, Response } from 'express';
import type { Debugger } from 'debug';
import type { AdapterConfig, AuthenticatorConfig, PluginsConfig } from '../Options.js';
import type { Adapter } from './Adapter.js';
import type { User } from './User.js';
import type { Plugin } from './Plugin.js';
export type AuthResponse<ResBody = any, Locals extends Record<string, any> = Record<string, any>> = Response<ResBody, {
adapterConfig: AdapterConfig;
adapter: Adapter;
authenticatorConfig: AuthenticatorConfig;
authenticator: Authenticator;
pluginsConfig: PluginsConfig;
plugins: Plugin[];
baseUrl: URL;
user: User;
requestId: string;
debug: Debugger;
error?: Error;
} & Locals>;
export interface Authenticator {
authenticate(request: Request, response: AuthResponse): Promise<User>;
cleanAuthentication(request: Request, response: AuthResponse): Promise<void>;
}