Modules
CalDAV server library.
Behaviour for CalDAV authenticators.
HTTP Basic authenticator. Verifies the username/password pair via a
configurable :verify MFA tuple {module, function} invoked as
apply(module, function, [username, password]). Returns the username
as the principal on success.
Top-level Plug that handles CalDAV requests under the /dav prefix.
XML response builders and small request parsers for the CalDAV endpoints. Generates Multi-Status (RFC 4918) responses with the CalDAV (RFC 4791) and CalendarServer extensions.
Top-level Plug that handles CardDAV requests under the /dav prefix.
XML response builders and small request parsers for the CardDAV endpoints. Generates Multi-Status (RFC 4918) responses with the CardDAV (RFC 6352) namespace extensions.
Tiny iCalendar helpers — just enough to extract the UID and primary component (VEVENT vs VTODO) from an iCalendar object and to compute an ETag from its serialized form.
Behaviour for DAV storage adapters (CalDAV and CardDAV).
In-memory implementation of ExDav.Storage. Backed by a single Agent
registered under the module name, for use in dev demos and tests.
Postgres-backed implementation of ExDav.Storage. Owns its own users,
collections, resources, and tombstones tables; the Repo module is
configured via config :ex_dav, repo: MyApp.Repo.
A DAV collection (calendar or addressbook) owned by a user.
A single DAV resource (a calendar object or vCard).
Records the deletion of a DAV resource for sync-collection.
A DAV principal.
vCard 4.0 parser and serialiser. vCard 3.0 is explicitly rejected.
Mix Tasks
Generates Ecto migration files for ExDav schema changes.