UNPKG

nephele

Version:

Highly customizable and extensible WebDAV server for Node.js and Express.

31 lines (30 loc) 1.18 kB
import type { Readable } from 'node:stream'; import type { Adapter } from './Adapter.js'; import type { Lock } from './Lock.js'; import type { Properties } from './Properties.js'; import type { User } from './User.js'; export interface Resource { adapter: Adapter; baseUrl: URL; getLocks(): Promise<Lock[]>; getLocksByUser(user: User): Promise<Lock[]>; createLockForUser(user: User): Promise<Lock>; getProperties(): Promise<Properties>; getStream(range?: { start: number; end: number; }): Promise<Readable>; setStream(input: Readable, user: User, mediaType?: string): Promise<void>; create(user: User): Promise<void>; delete(user: User): Promise<void>; copy(destination: URL, baseUrl: URL, user: User): Promise<void>; move(destination: URL, baseUrl: URL, user: User): Promise<void>; getLength(): Promise<number>; getEtag(): Promise<string>; getMediaType(): Promise<string | null>; getCanonicalName(): Promise<string>; getCanonicalPath(): Promise<string>; getCanonicalUrl(): Promise<URL>; isCollection(): Promise<boolean>; getInternalMembers(user: User): Promise<Resource[]>; }