Skip to main content

Crate jmap_calendars_types

Crate jmap_calendars_types 

Source
Expand description

JMAP Calendars extension data types.

Implements the data model from draft-ietf-jmap-calendars-33 and the JSCalendar Event format of RFC 8984. Types only — no method handlers, no async, no network I/O.

§Crate family position

jmap-types (RFC 8620 wire primitives)
    └── jmap-calendars-types  ← this crate
            ├── jmap-calendars-server (method handlers)
            └── jmap-calendars-client (client extension trait)

§Modules

The JSCalendar sub-object types (RFC 8984) live in the dedicated jmap-jscalendar-types crate so jmap-tasks-types can also consume them without depending on this crate. They are re-exported here at the crate root (top-level names like Location, Participant, Alert).

Structs§

AbsoluteTrigger
A trigger time given as an absolute UTC date-time (RFC 8984 §4.5.2).
Alert
An alert to be shown or emailed before or after an event (RFC 8984 §4.5.2).
BusyPeriod
A single busy period returned by Principal/getAvailability (draft-ietf-jmap-calendars-33 §2.2).
Calendar
A JMAP Calendar object (draft-ietf-jmap-calendars-33 §4).
CalendarAlert
Push-notification payload emitted when a calendar alert fires (draft-ietf-jmap-calendars-33 §6.4).
CalendarEvent
A JMAP CalendarEvent object (draft-ietf-jmap-calendars-33 §5; RFC 8984 §5.1).
CalendarEventComparator
Comparator for CalendarEvent/query (draft-ietf-jmap-calendars-33 §5.11.2).
CalendarEventFilterCondition
Filter condition for CalendarEvent/query (draft-ietf-jmap-calendars-33 §5.11.1).
CalendarEventNotification
A JMAP CalendarEventNotification object (draft-ietf-jmap-calendars-33 §7).
CalendarEventNotificationComparator
Comparator for CalendarEventNotification/query (draft-ietf-jmap-calendars-33 §7.4.2).
CalendarRights
Access control rights the authenticated user holds for a Calendar (draft-ietf-jmap-calendars-33 §4, after the myRights field definition).
CalendarsAccountCapability
Account-level Calendars capability (draft-ietf-jmap-calendars-33 §1.5.1).
CalendarsCapability
Session-level Calendars capability (draft-ietf-jmap-calendars-33 §1.5.1).
CalendarsParseCapability
Session-level capability for the CalendarEvent/parse method (draft-ietf-jmap-calendars-33 §1.5.3).
Duration
An ISO 8601 duration string (RFC 8984 §1.4.6).
FilterOperator
Generic filter algebra from jmap-types (RFC 8620 §5.5).
Link
An attachment, image, or URL associated with an event (RFC 8984 §1.4.11).
LocalDateTime
A date-time string without a timezone offset (RFC 8984 §1.4.5).
Location
A physical or virtual location associated with an event (RFC 8984 §4.2.5).
NDay
The nthOfPeriod field of an NDay entry (RFC 8984 §4.3.3).
NotificationFilterCondition
Filter condition for CalendarEventNotification/query (draft-ietf-jmap-calendars-33 §7.4.1).
OffsetTrigger
A trigger time given as an offset from the event start or end (RFC 8984 §4.5.2).
Participant
A participant in an event (RFC 8984 §4.4.6).
ParticipantIdentity
A JMAP ParticipantIdentity object (draft-ietf-jmap-calendars-33 §3).
Person
Who made the change that triggered a CalendarEventNotification (draft-ietf-jmap-calendars-33 §7).
PrincipalCalendarsCapability
The value of Principal.capabilities["urn:ietf:params:jmap:calendars"] on a JMAP Principals object (draft-ietf-jmap-calendars-33 §2.1).
PrincipalsAvailabilityAccountCapability
Account-level capability for the Principal availability extension (draft-ietf-jmap-calendars-33 §1.5.2).
PrincipalsAvailabilityCapability
Session-level capability for the Principal availability extension (draft-ietf-jmap-calendars-33 §1.5.2).
RecurrenceRule
A recurrence rule as defined in RFC 8984 §4.3.3.
Relation
A relationship between this object and another, identified by UID (RFC 8984 §1.4.10).
SignedDuration
A signed ISO 8601 duration string (RFC 8984 §1.4.7).
TimeZone
A time-zone definition embedded in CalendarEvent.timeZones or Task.timeZones (RFC 8984 §4.7.2).
TimeZoneRule
A STANDARD or DAYLIGHT sub-component of a TimeZone (RFC 8984 §4.7.2).
VirtualLocation
An online meeting or virtual location (RFC 8984 §4.2.6).

Enums§

AlertTrigger
Alert trigger — either offset-based, absolute, or an unknown future type (RFC 8984 §4.5.2).
BusyStatus
The busyStatus of a BusyPeriod (draft-ietf-jmap-calendars-33 §2.2): String (default: "unavailable") that “MUST be one of” the three values below, so any other string fails to deserialize.
CalendarEventComparatorProperty
The property to sort by in a CalendarEventComparator (draft-ietf-jmap-calendars-33 §5.11.2: “The following properties MUST be supported for sorting: id, uid, start” and “SHOULD be supported for sorting: created, updated”).
CalendarEventNotificationComparatorProperty
The property to sort by in a CalendarEventNotificationComparator (draft-ietf-jmap-calendars-33 §7.4.2: “The “created” property MUST be supported for sorting.“).
CalendarEventNotificationProperty
Property selector for crate::CalendarEventNotification /get.
CalendarEventProperty
Property selector for crate::CalendarEvent /get and /set.
CalendarProperty
Property selector for crate::Calendar /get and /set.
Filter
Generic filter algebra from jmap-types (RFC 8620 §5.5).
IncludeInAvailability
Controls which events in a Calendar contribute to availability calculations (draft-ietf-jmap-calendars-33 §4).
NotificationType
Type of change recorded by a CalendarEventNotification (draft-ietf-jmap-calendars-33 §7).
Operator
Generic filter algebra from jmap-types (RFC 8620 §5.5).
ParticipantIdentityProperty
Property selector for crate::ParticipantIdentity /get and /set.

Constants§

JMAP_CALENDARS_PARSE_URI
Capability URI for the CalendarEvent/parse method (draft-ietf-jmap-calendars-33 §1.5.3).
JMAP_CALENDARS_URI
Capability URI for core JMAP Calendars support (draft-ietf-jmap-calendars-33 §1.5.1).
JMAP_PRINCIPALS_AVAILABILITY_URI
Capability URI for Principal availability queries (draft-ietf-jmap-calendars-33 §1.5.2).
PER_USER_CALENDAR_EVENT_PROPERTIES
Names of CalendarEvent properties that the JMAP Calendars draft (draft-ietf-jmap-calendars-33 §5.4) classifies as per-user.

Functions§

is_per_user_calendar_event_property
Returns true if name is a per-user CalendarEvent property name per draft-ietf-jmap-calendars-33 §5.4.

Type Aliases§

CalendarEventFilter
Concrete filter type for CalendarEvent/query (draft-ietf-jmap-calendars-33 §5.11).
NotificationFilter
Concrete filter type for CalendarEventNotification/query (draft-ietf-jmap-calendars-33 §6).