Packages

Elixir client for the Microsoft Graph API

Current section

Files

Jump to
keen_microsoft_graphapi lib graph_api schema beta event.ex
Raw

lib/graph_api/schema/beta/event.ex

# This file is auto-generated by `mix graph.gen.schema`. Do not edit manually.
defmodule GraphApi.Schema.Beta.Event do
@moduledoc """
Auto-generated schema for `microsoft.graph.event`.
"""
defstruct [:id, :subject, :body, :start, :end, :location, :is_all_day, :organizer, :sensitivity]
@type t :: %__MODULE__{
id: String.t() | nil,
subject: String.t() | nil,
body: GraphApi.Schema.Beta.ItemBody.t() | nil,
start: GraphApi.Schema.Beta.DateTimeTimeZone.t() | nil,
end: GraphApi.Schema.Beta.DateTimeTimeZone.t() | nil,
location: GraphApi.Schema.Beta.Location.t() | nil,
is_all_day: boolean() | nil,
organizer: GraphApi.Schema.Beta.Recipient.t() | nil,
sensitivity: String.t() | nil
}
@field_mapping %{
{"id", :id},
{"subject", :subject},
{"body", :body},
{"start", :start},
{"end", :end},
{"location", :location},
{"isAllDay", :is_all_day},
{"organizer", :organizer},
{"sensitivity", :sensitivity}
}
@field_names [
"id",
"subject",
"body",
"start",
"end",
"location",
"isAllDay",
"organizer",
"sensitivity"
]
@doc "Mapping from camelCase API field names to snake_case struct atoms."
@spec __field_mapping__() :: %{String.t() => atom()}
def __field_mapping__, do: @field_mapping
@doc "List of camelCase API field names (for OData `$select`)."
@spec __field_names__() :: [String.t()]
def __field_names__, do: @field_names
@doc "Converts a camelCase string-key map (API response) into this struct."
@spec from_map(map()) :: t()
def from_map(map) when is_map(map) do
%__MODULE__{
id: map["id"],
subject: map["subject"],
body:
case map["body"] do
nil -> nil
val -> GraphApi.Schema.Beta.ItemBody.from_map(val)
end,
start:
case map["start"] do
nil -> nil
val -> GraphApi.Schema.Beta.DateTimeTimeZone.from_map(val)
end,
end:
case map["end"] do
nil -> nil
val -> GraphApi.Schema.Beta.DateTimeTimeZone.from_map(val)
end,
location:
case map["location"] do
nil -> nil
val -> GraphApi.Schema.Beta.Location.from_map(val)
end,
is_all_day: map["isAllDay"],
organizer:
case map["organizer"] do
nil -> nil
val -> GraphApi.Schema.Beta.Recipient.from_map(val)
end,
sensitivity: map["sensitivity"]
}
end
@doc "Converts this struct to a camelCase string-key map. Nil fields are omitted."
@spec to_map(t()) :: map()
def to_map(%__MODULE__{} = struct) do
[
{"id", struct.id},
{"subject", struct.subject},
{"body",
case struct.body do
nil -> nil
val -> GraphApi.Schema.Beta.ItemBody.to_map(val)
end},
{"start",
case struct.start do
nil -> nil
val -> GraphApi.Schema.Beta.DateTimeTimeZone.to_map(val)
end},
{"end",
case struct.end do
nil -> nil
val -> GraphApi.Schema.Beta.DateTimeTimeZone.to_map(val)
end},
{"location",
case struct.location do
nil -> nil
val -> GraphApi.Schema.Beta.Location.to_map(val)
end},
{"isAllDay", struct.is_all_day},
{"organizer",
case struct.organizer do
nil -> nil
val -> GraphApi.Schema.Beta.Recipient.to_map(val)
end},
{"sensitivity", struct.sensitivity}
]
|> Enum.reject(fn {_k, v} -> is_nil(v) end)
|> Map.new()
end
end