# NOTE: This file is auto generated by OpenAPI Generator 7.22.0 (https://openapi-generator.tech).
# Do not edit this file manually.
defmodule Spatio.Model.Presentation do
@moduledoc """
A slide deck. Presentations belong to one connected account (`accountId` + `provider`). Native deck storage lives in Spatio's DB; external providers (Google Slides, etc.) round-trip.
"""
@derive JSON.Encoder
defstruct [
:id,
:provider,
:accountId,
:ownerUserId,
:title,
:description,
:theme,
:thumbnailUrl,
:createdAt,
:updatedAt,
:lastViewedAt
]
@type t :: %__MODULE__{
:id => String.t,
:provider => String.t | nil,
:accountId => String.t | nil,
:ownerUserId => String.t | nil,
:title => String.t,
:description => String.t | nil,
:theme => String.t | nil,
:thumbnailUrl => Uri | nil,
:createdAt => DateTime.t,
:updatedAt => DateTime.t,
:lastViewedAt => DateTime.t | nil
}
alias Spatio.Deserializer
def decode(value) do
value
|> Deserializer.deserialize(:thumbnailUrl, :struct, Spatio.Model.Uri)
end
end