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
| Module | Contents |
|---|---|
calendar | Calendar, CalendarRights, IncludeInAvailability |
event | CalendarEvent, CalendarEventFilterCondition, CalendarEventComparator, CalendarEventComparatorProperty |
jmap-jscalendar-types | Re-exported: RecurrenceRule, NDay, Location, VirtualLocation, Link, Participant, Alert, AlertTrigger, OffsetTrigger, AbsoluteTrigger, Relation, LocalDateTime, Duration, SignedDuration |
notification | CalendarEventNotification, Person, NotificationType, NotificationFilterCondition, CalendarEventNotificationComparator, CalendarEventNotificationComparatorProperty |
participant_identity | ParticipantIdentity |
| Crate root | CalendarsCapability, CalendarsAccountCapability, URI constants |
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§
- Absolute
Trigger - 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).
- Busy
Period - 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).
- Calendar
Alert - Push-notification payload emitted when a calendar alert fires (draft-ietf-jmap-calendars-33 §6.4).
- Calendar
Event - A JMAP CalendarEvent object (draft-ietf-jmap-calendars-33 §5; RFC 8984 §5.1).
- Calendar
Event Comparator - Comparator for
CalendarEvent/query(draft-ietf-jmap-calendars-33 §5.11.2). - Calendar
Event Filter Condition - Filter condition for
CalendarEvent/query(draft-ietf-jmap-calendars-33 §5.11.1). - Calendar
Event Notification - A JMAP CalendarEventNotification object (draft-ietf-jmap-calendars-33 §7).
- Calendar
Event Notification Comparator - Comparator for
CalendarEventNotification/query(draft-ietf-jmap-calendars-33 §7.4.2). - Calendar
Rights - Access control rights the authenticated user holds for a Calendar
(draft-ietf-jmap-calendars-33 §4, after the
myRightsfield definition). - Calendars
Account Capability - Account-level Calendars capability (draft-ietf-jmap-calendars-33 §1.5.1).
- Calendars
Capability - Session-level Calendars capability (draft-ietf-jmap-calendars-33 §1.5.1).
- Calendars
Parse Capability - 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).
- Filter
Operator - 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).
- Local
Date Time - 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
nthOfPeriodfield of anNDayentry (RFC 8984 §4.3.3). - Notification
Filter Condition - Filter condition for
CalendarEventNotification/query(draft-ietf-jmap-calendars-33 §7.4.1). - Offset
Trigger - 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).
- Participant
Identity - 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). - Principal
Calendars Capability - The value of
Principal.capabilities["urn:ietf:params:jmap:calendars"]on a JMAP Principals object (draft-ietf-jmap-calendars-33 §2.1). - Principals
Availability Account Capability - Account-level capability for the Principal availability extension (draft-ietf-jmap-calendars-33 §1.5.2).
- Principals
Availability Capability - Session-level capability for the Principal availability extension (draft-ietf-jmap-calendars-33 §1.5.2).
- Recurrence
Rule - 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).
- Signed
Duration - A signed ISO 8601 duration string (RFC 8984 §1.4.7).
- Time
Zone - A time-zone definition embedded in
CalendarEvent.timeZonesorTask.timeZones(RFC 8984 §4.7.2). - Time
Zone Rule - A STANDARD or DAYLIGHT sub-component of a
TimeZone(RFC 8984 §4.7.2). - Virtual
Location - An online meeting or virtual location (RFC 8984 §4.2.6).
Enums§
- Alert
Trigger - Alert trigger — either offset-based, absolute, or an unknown future type (RFC 8984 §4.5.2).
- Busy
Status - The
busyStatusof aBusyPeriod(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. - Calendar
Event Comparator Property - 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”). - Calendar
Event Notification Comparator Property - The property to sort by in a
CalendarEventNotificationComparator(draft-ietf-jmap-calendars-33 §7.4.2: “The “created” property MUST be supported for sorting.“). - Calendar
Event Notification Property - Property selector for
crate::CalendarEventNotification/get. - Calendar
Event Property - Property selector for
crate::CalendarEvent/getand/set. - Calendar
Property - Property selector for
crate::Calendar/getand/set. - Filter
- Generic filter algebra from
jmap-types(RFC 8620 §5.5). - Include
InAvailability - Controls which events in a Calendar contribute to availability calculations (draft-ietf-jmap-calendars-33 §4).
- Notification
Type - Type of change recorded by a
CalendarEventNotification(draft-ietf-jmap-calendars-33 §7). - Operator
- Generic filter algebra from
jmap-types(RFC 8620 §5.5). - Participant
Identity Property - Property selector for
crate::ParticipantIdentity/getand/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
CalendarEventproperties that the JMAP Calendars draft (draft-ietf-jmap-calendars-33 §5.4) classifies as per-user.
Functions§
- is_
per_ user_ calendar_ event_ property - Returns
trueifnameis a per-userCalendarEventproperty name per draft-ietf-jmap-calendars-33 §5.4.
Type Aliases§
- Calendar
Event Filter - Concrete filter type for CalendarEvent/query (draft-ietf-jmap-calendars-33 §5.11).
- Notification
Filter - Concrete filter type for CalendarEventNotification/query (draft-ietf-jmap-calendars-33 §6).