Packages

Elixir client for the Microsoft Graph API

Current section

Files

Jump to
keen_microsoft_graphapi lib graph_api schema beta group.ex
Raw

lib/graph_api/schema/beta/group.ex

# This file is auto-generated by `mix graph.gen.schema`. Do not edit manually.
defmodule GraphApi.Schema.Beta.Group do
@moduledoc """
Auto-generated schema for `microsoft.graph.group`.
"""
defstruct [
:id,
:deleted_date_time,
:display_name,
:description,
:mail,
:mail_enabled,
:mail_nickname,
:security_enabled,
:group_types,
:visibility
]
@type t :: %__MODULE__{
id: String.t() | nil,
deleted_date_time: String.t() | nil,
display_name: String.t() | nil,
description: String.t() | nil,
mail: String.t() | nil,
mail_enabled: boolean() | nil,
mail_nickname: String.t() | nil,
security_enabled: boolean() | nil,
group_types: [String.t()] | nil,
visibility: String.t() | nil
}
@field_mapping %{
{"id", :id},
{"deletedDateTime", :deleted_date_time},
{"displayName", :display_name},
{"description", :description},
{"mail", :mail},
{"mailEnabled", :mail_enabled},
{"mailNickname", :mail_nickname},
{"securityEnabled", :security_enabled},
{"groupTypes", :group_types},
{"visibility", :visibility}
}
@field_names [
"id",
"deletedDateTime",
"displayName",
"description",
"mail",
"mailEnabled",
"mailNickname",
"securityEnabled",
"groupTypes",
"visibility"
]
@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"],
deleted_date_time: map["deletedDateTime"],
display_name: map["displayName"],
description: map["description"],
mail: map["mail"],
mail_enabled: map["mailEnabled"],
mail_nickname: map["mailNickname"],
security_enabled: map["securityEnabled"],
group_types: map["groupTypes"],
visibility: map["visibility"]
}
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},
{"deletedDateTime", struct.deleted_date_time},
{"displayName", struct.display_name},
{"description", struct.description},
{"mail", struct.mail},
{"mailEnabled", struct.mail_enabled},
{"mailNickname", struct.mail_nickname},
{"securityEnabled", struct.security_enabled},
{"groupTypes", struct.group_types},
{"visibility", struct.visibility}
]
|> Enum.reject(fn {_k, v} -> is_nil(v) end)
|> Map.new()
end
end