Current section
Files
Jump to
Current section
Files
lib/docusign/model/workspace_item.ex
# NOTE: This file is auto generated by OpenAPI Generator
# https://openapi-generator.tech
# Do not edit this file manually.
defmodule DocuSign.Model.WorkspaceItem do
@moduledoc """
This object represents an item in a workspace, which can be either a file or folder.
"""
alias DocuSign.Deserializer
alias DocuSign.Model.Page
alias DocuSign.Model.WorkspaceUser
alias DocuSign.Model.WorkspaceUserAuthorization
defstruct [
:callerAuthorization,
:contentType,
:created,
:createdById,
:createdByInformation,
:extension,
:fileSize,
:fileUri,
:id,
:isPublic,
:lastModified,
:lastModifiedById,
:lastModifiedByInformation,
:name,
:pageCount,
:parentFolderId,
:parentFolderUri,
:sha256,
:thumbHeight,
:thumbWidth,
:thumbnail,
:type,
:uri,
:userAuthorization
]
@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__{
:callerAuthorization => WorkspaceUserAuthorization.t() | nil,
:contentType => String.t() | nil,
:created => String.t() | nil,
:createdById => String.t() | nil,
:createdByInformation => WorkspaceUser.t() | nil,
:extension => String.t() | nil,
:fileSize => String.t() | nil,
:fileUri => String.t() | nil,
:id => String.t() | nil,
:isPublic => String.t() | nil,
:lastModified => String.t() | nil,
:lastModifiedById => String.t() | nil,
:lastModifiedByInformation => WorkspaceUser.t() | nil,
:name => String.t() | nil,
:pageCount => String.t() | nil,
:parentFolderId => String.t() | nil,
:parentFolderUri => String.t() | nil,
:sha256 => String.t() | nil,
:thumbHeight => String.t() | nil,
:thumbWidth => String.t() | nil,
:thumbnail => Page.t() | nil,
:type => String.t() | nil,
:uri => String.t() | nil,
:userAuthorization => WorkspaceUserAuthorization.t() | nil
}
def decode(value) do
value
|> Deserializer.deserialize(
:callerAuthorization,
:struct,
WorkspaceUserAuthorization
)
|> Deserializer.deserialize(
:createdByInformation,
:struct,
WorkspaceUser
)
|> Deserializer.deserialize(
:lastModifiedByInformation,
:struct,
WorkspaceUser
)
|> Deserializer.deserialize(
:thumbnail,
:struct,
Page
)
|> Deserializer.deserialize(
:userAuthorization,
:struct,
WorkspaceUserAuthorization
)
|> then(&struct(__MODULE__, &1))
end
end