Liking cljdoc? Tell your friends :D

dk.simongray.ical.itip

Build the scheduling messages of iTIP (RFC 5546) from a calendar, and apply those you receive to a stored one. A message is a calendar with a METHOD.

The namespace sends nothing. For e-mail by iMIP (RFC 6047), content-type gives a message's MIME type and originator the address it should come from, which the receiver checks against the mail's verified sender (RFC 6047, section 3).

Build the scheduling messages of iTIP (RFC 5546) from a calendar, and
apply those you receive to a stored one. A message is a calendar with a
METHOD.

The namespace sends nothing. For e-mail by iMIP (RFC 6047),
content-type gives a message's MIME type and originator the address it
should come from, which the receiver checks against the mail's verified
sender (RFC 6047, section 3).
raw docstring

addclj/s

(add cal)
(add cal opts)

The first scheduled component of the calendar cal, an instance to add to a recurring event that the attendees already have, with the event's UID, as an ADD message with an incremented SEQUENCE. The opts can give :now, the inst to use for its DTSTAMPs.

The first scheduled component of the calendar `cal`, an instance to add
to a recurring event that the attendees already have, with the event's
UID, as an ADD message with an incremented SEQUENCE. The `opts` can give
:now, the inst to use for its DTSTAMPs.
sourceraw docstring

addressclj/s

(address s)

The calendar user address s (RFC 5545, section 3.3.3) without mailto: and in lower case, so that two addresses compare.

The calendar user address `s` (RFC 5545, section 3.3.3) without mailto:
and in lower case, so that two addresses compare.
sourceraw docstring

applyclj/s

(apply cal msg)

The stored calendar cal with the message msg applied to it, by the message's method:

  • REPLY: the organizer's copy takes the attendee's PARTSTAT, unless the reply is to an older SEQUENCE. A reply to one instance adds an override for it.
  • REQUEST or PUBLISH: the newer components (see newer?) replace the stored ones, and a new master replaces all the stored components with its UID.
  • ADD: the stored recurring component gets each instance as an RDATE, and the instance as an override.
  • CANCEL: the stored components that it cancels get STATUS:CANCELLED, and a cancelled instance becomes an override. A CANCEL that removes attendees cancels the event for them.

The VTIMEZONEs of msg come along for the TZIDs it brings. Any other method leaves cal unchanged.

The stored calendar `cal` with the message `msg` applied to it, by the
message's method:

- REPLY: the organizer's copy takes the attendee's PARTSTAT, unless the
  reply is to an older SEQUENCE. A reply to one instance adds an
  override for it.
- REQUEST or PUBLISH: the newer components (see newer?) replace the
  stored ones, and a new master replaces all the stored components with
  its UID.
- ADD: the stored recurring component gets each instance as an RDATE,
  and the instance as an override.
- CANCEL: the stored components that it cancels get STATUS:CANCELLED,
  and a cancelled instance becomes an override. A CANCEL that removes
  attendees cancels the event for them.

The VTIMEZONEs of `msg` come along for the TZIDs it brings. Any other
method leaves `cal` unchanged.
sourceraw docstring

cancelclj/s

(cancel cal)
(cancel cal attendees)
(cancel cal attendees opts)

The calendar cal as a CANCEL message, with STATUS:CANCELLED and an incremented SEQUENCE in each scheduled component. With the addresses attendees, it's instead the message that removes those attendees from the event: it lists only them, and leaves STATUS alone. The opts can give :now, the inst to use for its DTSTAMPs.

The calendar `cal` as a CANCEL message, with STATUS:CANCELLED and an
incremented SEQUENCE in each scheduled component. With the addresses
`attendees`, it's instead the message that removes those attendees from
the event: it lists only them, and leaves STATUS alone. The `opts` can
give :now, the inst to use for its DTSTAMPs.
sourceraw docstring

content-typeclj/s

(content-type msg)

The MIME type of the message msg in an iMIP e-mail.

(content-type msg) ;; => "text/calendar; method=REQUEST; charset=UTF-8"

The MIME type of the message `msg` in an iMIP e-mail.

(content-type msg)
;; => "text/calendar; method=REQUEST; charset=UTF-8"
sourceraw docstring

counterclj/s

(counter cal)
(counter cal opts)

The first scheduled component of the calendar cal, as an attendee would change it, as a COUNTER that proposes the change to the organizer. The opts can give :now, the inst to use for its DTSTAMPs.

The first scheduled component of the calendar `cal`, as an attendee
would change it, as a COUNTER that proposes the change to the organizer.
The `opts` can give :now, the inst to use for its DTSTAMPs.
sourceraw docstring

decline-counterclj/s

(decline-counter msg)
(decline-counter msg opts)

The DECLINECOUNTER with which an organizer turns down the proposal of the COUNTER message msg. The opts can give :now, the inst to use for its DTSTAMPs.

The DECLINECOUNTER with which an organizer turns down the proposal of
the COUNTER message `msg`. The `opts` can give :now, the inst to use for
its DTSTAMPs.
sourceraw docstring

messagesclj/s

(messages old new user)
(messages old new user opts)

The messages that the calendar user with the address user sends when their copy of a calendar changes from old to new, either of which can be nil for an event that's new or deleted. Each is a map of :method, :recipient, :calendar, the message, and :significant?, whether the change is one that RFC 5546, section 2.1.4, calls significant.

The organizer sends a REQUEST to each attendee when anything changed, and a CANCEL to those who were removed. An attendee sends a REPLY to the organizer when their PARTSTAT changed, and declines when they delete the event. The opts can give :now, the inst to use for the DTSTAMPs.

(messages old new "mailto:board@gf.example")
;; => [{:method "REQUEST" :recipient "mailto:simon@gf.example"
;;      :calendar {...} :significant? true}]
The messages that the calendar user with the address `user` sends when
their copy of a calendar changes from `old` to `new`, either of which
can be nil for an event that's new or deleted. Each is a map of :method,
:recipient, :calendar, the message, and :significant?, whether the
change is one that RFC 5546, section 2.1.4, calls significant.

The organizer sends a REQUEST to each attendee when anything changed,
and a CANCEL to those who were removed. An attendee sends a REPLY to the
organizer when their PARTSTAT changed, and declines when they delete the
event. The `opts` can give :now, the inst to use for the DTSTAMPs.

    (messages old new "mailto:board@gf.example")
    ;; => [{:method "REQUEST" :recipient "mailto:simon@gf.example"
    ;;      :calendar {...} :significant? true}]
sourceraw docstring

newer?clj/s

(newer? a b)

Whether the component a is a newer version than the component b.

Whether the component `a` is a newer version than the component `b`.
sourceraw docstring

originatorclj/s

(originator msg)

The calendar user address that the message msg should come from: the ATTENDEE for a REPLY, a REFRESH or a COUNTER, and the ORGANIZER for any other method. It's nil for a COUNTER with more than one attendee.

The calendar user address that the message `msg` should come from: the
ATTENDEE for a REPLY, a REFRESH or a COUNTER, and the ORGANIZER for any
other method. It's nil for a COUNTER with more than one attendee.
sourceraw docstring

publishclj/s

(publish cal)
(publish cal opts)

The calendar cal as a PUBLISH message, without attendees. The opts can give :now, the inst to use for its DTSTAMPs.

The calendar `cal` as a PUBLISH message, without attendees. The `opts`
can give :now, the inst to use for its DTSTAMPs.
sourceraw docstring

refreshclj/s

(refresh cal attendee)
(refresh cal attendee opts)

The REFRESH from the attendee with the address attendee, which asks the organizer for the latest version of the calendar cal. It refers to the first scheduled component without a RECURRENCE-ID. The opts can give :now, the inst to use for its DTSTAMPs.

The REFRESH from the attendee with the address `attendee`, which asks
the organizer for the latest version of the calendar `cal`. It refers to
the first scheduled component without a RECURRENCE-ID. The `opts` can
give :now, the inst to use for its DTSTAMPs.
sourceraw docstring

replyclj/s

(reply cal attendee partstat)
(reply cal attendee partstat opts)

The REPLY from the attendee with the address attendee to the calendar cal, with the participation status partstat, e.g. "ACCEPTED", "DECLINED" or "TENTATIVE". Each scheduled component keeps only its UID, RECURRENCE-ID, SEQUENCE, DTSTART and ORGANIZER, and the attendee, who is added if the organizer didn't invite them. The opts can give :now, the inst to use for its DTSTAMPs.

(reply cal "mailto:simon@gf.example" "ACCEPTED")
The REPLY from the attendee with the address `attendee` to the calendar
`cal`, with the participation status `partstat`, e.g. "ACCEPTED",
"DECLINED" or "TENTATIVE". Each scheduled component keeps only its
UID, RECURRENCE-ID, SEQUENCE, DTSTART and ORGANIZER, and the attendee,
who is added if the organizer didn't invite them. The `opts` can give
:now, the inst to use for its DTSTAMPs.

    (reply cal "mailto:simon@gf.example" "ACCEPTED")
sourceraw docstring

requestclj/s

(request cal)
(request cal opts)

The calendar cal as a REQUEST message, which an organizer sends to invite the attendees or to update the event. The opts can give :now, the inst to use for its DTSTAMPs.

The calendar `cal` as a REQUEST message, which an organizer sends to
invite the attendees or to update the event. The `opts` can give :now,
the inst to use for its DTSTAMPs.
sourceraw docstring

reviseclj/s

(revise old new)

The calendar new with a higher SEQUENCE in each scheduled component that changes significantly from its version in the calendar old (see significant-change?), or from the instance of old's recurring component that a new override replaces. Removing an attendee raises SEQUENCE too. The new SEQUENCE is one more than the higher of the two, and another component never has a lower SEQUENCE than its old version, or keeps its own when old lacks it.

The calendar `new` with a higher SEQUENCE in each scheduled component
that changes significantly from its version in the calendar `old` (see
significant-change?), or from the instance of `old`'s recurring
component that a new override replaces. Removing an attendee raises
SEQUENCE too. The new SEQUENCE is one more than the higher of the two,
and another component never has a lower SEQUENCE than its old version,
or keeps its own when `old` lacks it.
sourceraw docstring

significant-change?clj/s

(significant-change? old new)

Whether the component new changes a property of old that calls for a new SEQUENCE, by RFC 5546, section 2.1.4: DTSTART, DTEND, DURATION, DUE, RRULE, RDATE, EXDATE or STATUS.

Whether the component `new` changes a property of `old` that calls for
a new SEQUENCE, by RFC 5546, section 2.1.4: DTSTART, DTEND, DURATION,
DUE, RRULE, RDATE, EXDATE or STATUS.
sourceraw docstring

validation-errorsclj/s

(validation-errors msg)

The ways that the message msg breaks the restriction table of RFC 5546, section 3, for its METHOD and its component, as maps like those of ical/validation-errors, e.g. {:error :not-allowed-property :level :error :path [:components 1] :property :attendee}. They come on top of the message's errors as a calendar, which ical/validation-errors gives.

The ways that the message `msg` breaks the restriction table of RFC
5546, section 3, for its METHOD and its component, as maps like those of
ical/validation-errors, e.g. {:error :not-allowed-property :level :error
:path [:components 1] :property :attendee}. They come on top of the
message's errors as a calendar, which ical/validation-errors gives.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close