Current section
Files
Jump to
Current section
Files
lib/docusign/model/workspace.ex
# NOTE: This file is auto generated by OpenAPI Generator
# https://openapi-generator.tech
# Do not edit this file manually.
defmodule DocuSign.Model.Workspace do
@moduledoc """
A Docusign workspace is a collaboration area for sharing files and data.
"""
alias DocuSign.Deserializer
alias DocuSign.Model.WorkspaceSettings
alias DocuSign.Model.WorkspaceUser
defstruct [
:billableAccountId,
:callerInformation,
:created,
:createdByInformation,
:lastModified,
:lastModifiedByInformation,
:settings,
:status,
:workspaceBaseUrl,
:workspaceDescription,
:workspaceId,
:workspaceName,
:workspaceUri
]
@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__{
:billableAccountId => String.t() | nil,
:callerInformation => WorkspaceUser.t() | nil,
:created => String.t() | nil,
:createdByInformation => WorkspaceUser.t() | nil,
:lastModified => String.t() | nil,
:lastModifiedByInformation => WorkspaceUser.t() | nil,
:settings => WorkspaceSettings.t() | nil,
:status => String.t() | nil,
:workspaceBaseUrl => String.t() | nil,
:workspaceDescription => String.t() | nil,
:workspaceId => String.t() | nil,
:workspaceName => String.t() | nil,
:workspaceUri => String.t() | nil
}
def decode(value) do
value
|> Deserializer.deserialize(
:callerInformation,
:struct,
WorkspaceUser
)
|> Deserializer.deserialize(
:createdByInformation,
:struct,
WorkspaceUser
)
|> Deserializer.deserialize(
:lastModifiedByInformation,
:struct,
WorkspaceUser
)
|> Deserializer.deserialize(
:settings,
:struct,
WorkspaceSettings
)
|> then(&struct(__MODULE__, &1))
end
end