# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
# https://openapi-generator.tech
# Do not edit the class manually.
defmodule OpenXchangeClient.Model.Event do
@moduledoc """
The event this timeslot belongs to if known.
"""
@derive [Poison.Encoder]
defstruct [
:startDate,
:endDate,
:created,
:timestamp,
:categories,
:filename,
:uid,
:description,
:attendees,
:alarms,
:lastModified,
:modifiedBy,
:summary,
:sequence,
:id,
:class,
:organizer,
:transp,
:color,
:folder,
:createdBy,
:changeExceptionDates,
:deleteExceptionDates,
:recurrenceId,
:calendarUser,
:rrule,
:attachments,
:extendedProperties,
:geo,
:attendeePrivileges,
:url,
:seriesId,
:status,
:location,
:flags,
:relatedTo
]
@type t :: %__MODULE__{
:startDate => OpenXchangeClient.Model.DateTimeData.t() | nil,
:endDate => OpenXchangeClient.Model.DateTimeData.t() | nil,
:created => integer() | nil,
:timestamp => integer() | nil,
:categories => [String.t()] | nil,
:filename => String.t() | nil,
:uid => String.t() | nil,
:description => String.t() | nil,
:attendees => [OpenXchangeClient.Model.Attendee.t()] | nil,
:alarms => [OpenXchangeClient.Model.Alarm.t()] | nil,
:lastModified => integer() | nil,
:modifiedBy => OpenXchangeClient.Model.CalendarUser.t() | nil,
:summary => String.t() | nil,
:sequence => integer() | nil,
:id => String.t() | nil,
:class => String.t() | nil,
:organizer => OpenXchangeClient.Model.CalendarUser.t() | nil,
:transp => String.t() | nil,
:color => String.t() | nil,
:folder => String.t() | nil,
:createdBy => OpenXchangeClient.Model.CalendarUser.t() | nil,
:changeExceptionDates => [String.t()] | nil,
:deleteExceptionDates => [String.t()] | nil,
:recurrenceId => String.t() | nil,
:calendarUser => OpenXchangeClient.Model.CalendarUser.t() | nil,
:rrule => String.t() | nil,
:attachments => [OpenXchangeClient.Model.ChronosAttachment.t()] | nil,
:extendedProperties =>
%{optional(String.t()) => %{optional(String.t()) => String.t()}} | nil,
:geo => OpenXchangeClient.Model.Geo.t() | nil,
:attendeePrivileges => String.t() | nil,
:url => String.t() | nil,
:seriesId => String.t() | nil,
:status => String.t() | nil,
:location => String.t() | nil,
:flags => [String.t()] | nil,
:relatedTo => String.t() | nil
}
end
defimpl Poison.Decoder, for: OpenXchangeClient.Model.Event do
import OpenXchangeClient.Deserializer
def decode(value, options) do
value
|> deserialize(:startDate, :struct, OpenXchangeClient.Model.DateTimeData, options)
|> deserialize(:endDate, :struct, OpenXchangeClient.Model.DateTimeData, options)
|> deserialize(:attendees, :list, OpenXchangeClient.Model.Attendee, options)
|> deserialize(:alarms, :list, OpenXchangeClient.Model.Alarm, options)
|> deserialize(:modifiedBy, :struct, OpenXchangeClient.Model.CalendarUser, options)
|> deserialize(:organizer, :struct, OpenXchangeClient.Model.CalendarUser, options)
|> deserialize(:createdBy, :struct, OpenXchangeClient.Model.CalendarUser, options)
|> deserialize(:calendarUser, :struct, OpenXchangeClient.Model.CalendarUser, options)
|> deserialize(:attachments, :list, OpenXchangeClient.Model.ChronosAttachment, options)
|> deserialize(:geo, :struct, OpenXchangeClient.Model.Geo, options)
end
end