stable

webdav

WebDAV adapter for noy-db — encrypted object storage over WebDAV, works with Nextcloud, ownCloud, Apache mod_dav, or any RFC 4918 server.

@noy-db/to-webdav · pnpm add @noy-db/to-webdav Nextcloud / ownCloud / any RFC 4918 server.

Shaperecord
Atomic CAS✗
Localityremote
Speedslow
Persistencedurable

What it does

Stores encrypted envelopes over the WebDAV protocol. Works with Nextcloud, ownCloud, Apache mod_dav, or any RFC 4918-compliant server. Pure fetch()-based, zero dependencies.

Notes

  • casAtomic: false — WebDAV has no atomic CAS primitive; last-write-wins.
  • Record shape, one file per record.
  • Factory: toWebdav(options: WebDAVStoreOptions).

Store-locator descriptor

See store-locator descriptors for the general model — this store is one of the seam's two reference implementations. kind: 'webdav', class: 'lan'. address is { baseUrl, prefix? }; options is the serializable server-quirk flags { autoMkcol?, eagerMkcol? }. binding.fetch?/binding.headers? carry a device-local transport override (a wrapper injecting session auth, or a test fake) or static headers; a kind: 'token' StoreCredentialSource at resolve() time becomes a rolling Authorization: Bearer <token>, cached and refreshed within a skew window of expiresAt.

import { webdavStoreDescriptor, registerWebdavStore } from '@noy-db/to-webdav'

const descriptor = webdavStoreDescriptor({ baseUrl: 'https://cloud.example.com/remote.php/dav' })

See also