JSCalendar.Participant (JSCalendar v0.1.0)

Copy Markdown View Source

Someone or something involved in the object (RFC 8984 §4.4.6).

A participant is not only a person: kind may be location or resource, which is how a room or a projector joins a meeting. roles is mandatory and is a set, because one participant is routinely both attendee and chair.

The three progress properties apply only when the participant is taking part in a JSCalendar.Task.

Summary

Functions

Read this object from a decoded JSON map.

The @type value RFC 8984 gives this object.

Write this object back to a JSON-ready map.

Types

t()

@type t() :: %JSCalendar.Participant{
  delegated_from: term(),
  delegated_to: term(),
  description: term(),
  email: String.t() | nil,
  expect_reply: boolean(),
  extra: map(),
  invited_by: term(),
  kind: String.t() | nil,
  language: term(),
  links: term(),
  location_id: term(),
  member_of: term(),
  name: String.t() | nil,
  participation_comment: term(),
  participation_status: String.t(),
  percent_complete: term(),
  progress: term(),
  progress_updated: term(),
  roles: MapSet.t() | nil,
  schedule_agent: term(),
  schedule_force_send: term(),
  schedule_sequence: term(),
  schedule_status: term(),
  schedule_updated: term(),
  send_to: term(),
  sent_by: term()
}

Functions

from_map(map)

@spec from_map(map()) :: {:ok, struct()} | {:error, term()}

Read this object from a decoded JSON map.

Arguments

Returns

  • {:ok, object}; or

  • {:error, reason} when a property does not match its declared type.

jscalendar_type()

@spec jscalendar_type() :: String.t()

The @type value RFC 8984 gives this object.

Returns

  • the type name as a string.

to_map(object)

@spec to_map(struct()) :: map()

Write this object back to a JSON-ready map.

Arguments

  • object is a t/0.

Returns