Current section
Files
Jump to
Current section
Files
lib/docusign/model/folder_shared_item.ex
# NOTE: This file is auto generated by OpenAPI Generator
# https://openapi-generator.tech
# Do not edit this file manually.
defmodule DocuSign.Model.FolderSharedItem do
@moduledoc """
"""
alias DocuSign.Deserializer
alias DocuSign.Model.ErrorDetails
alias DocuSign.Model.MemberGroupSharedItem
alias DocuSign.Model.UserInfo
alias DocuSign.Model.UserSharedItem
defstruct [
:errorDetails,
:folderId,
:name,
:owner,
:parentFolderId,
:parentFolderUri,
:shared,
:sharedGroups,
:sharedUsers,
:uri,
:user
]
@doc false
defimpl Jason.Encoder, for: __MODULE__ do
def encode(struct, opts) do
struct
|> Map.from_struct()
|> Enum.reject(fn {_k, v} -> is_nil(v) end)
|> Map.new()
|> Jason.Encode.map(opts)
end
end
@type t :: %__MODULE__{
:errorDetails => ErrorDetails.t() | nil,
:folderId => String.t() | nil,
:name => String.t() | nil,
:owner => UserInfo.t() | nil,
:parentFolderId => String.t() | nil,
:parentFolderUri => String.t() | nil,
:shared => String.t() | nil,
:sharedGroups => [MemberGroupSharedItem.t()] | nil,
:sharedUsers => [UserSharedItem.t()] | nil,
:uri => String.t() | nil,
:user => UserInfo.t() | nil
}
def decode(value) do
value
|> Deserializer.deserialize(
:errorDetails,
:struct,
ErrorDetails
)
|> Deserializer.deserialize(
:owner,
:struct,
UserInfo
)
|> Deserializer.deserialize(
:sharedGroups,
:list,
MemberGroupSharedItem
)
|> Deserializer.deserialize(
:sharedUsers,
:list,
UserSharedItem
)
|> Deserializer.deserialize(
:user,
:struct,
UserInfo
)
|> then(&struct(__MODULE__, &1))
end
end