# This file is auto-generated by `mix graph.gen.schema`. Do not edit manually. defmodule GraphApi.Schema.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