UNPKG

@nephele/adapter-file-system

Version:

File system adapter for the Nephele WebDAV server.

26 lines (25 loc) 1.3 kB
import type { Request } from 'express'; import type { Adapter as AdapterInterface, AuthResponse, Method, User } from 'nephele'; import Resource from './Resource.js'; export type AdapterConfig = { root: string; contentEtagMaxBytes?: number; }; export default class Adapter implements AdapterInterface { root: string; contentEtagMaxBytes: number; constructor({ root, contentEtagMaxBytes }: AdapterConfig); urlToRelativePath(url: URL, baseUrl: URL): string | null; urlToAbsolutePath(url: URL, baseUrl: URL): string | null; getUid(user: User): Promise<number>; getGid(user: User): Promise<number>; getGids(user: User): Promise<number[]>; getComplianceClasses(_url: URL, _request: Request, _response: AuthResponse): Promise<string[]>; getAllowedMethods(_url: URL, _request: Request, _response: AuthResponse): Promise<never[]>; getOptionsResponseCacheControl(_url: URL, _request: Request, _response: AuthResponse): Promise<string>; isAuthorized(url: URL, method: string, baseUrl: URL, user: User): Promise<boolean>; getResource(url: URL, baseUrl: URL): Promise<Resource>; newResource(url: URL, baseUrl: URL): Promise<Resource>; newCollection(url: URL, baseUrl: URL): Promise<Resource>; getMethod(method: string): typeof Method; }