# 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.Sheet do
@moduledoc """
A spreadsheet. Sheets belong to exactly one connected account (`accountId` + `provider`). The native provider stores sheets in the Spatio database; external providers (Google Sheets, Excel Online, etc.) round-trip through Spatio. `data` is a free-form bag for provider-specific blobs (cell matrices, formulas, formatting). Clients that walk rows / cells should use the dedicated row + cell endpoints; `data` is only meaningful when round-tripping with an external provider that embeds its native format here.
"""
@derive JSON.Encoder
defstruct [
:id,
:provider,
:accountId,
:ownerUserId,
:name,
:description,
:data,
:rowCount,
:columnCount,
:sheetCount,
:isPublic,
:isReadOnly,
:fileSize,
:lastAccessedAt,
:createdAt,
:updatedAt
]
@type t :: %__MODULE__{
:id => String.t,
:provider => String.t | nil,
:accountId => String.t | nil,
:ownerUserId => String.t | nil,
:name => String.t,
:description => String.t | nil,
:data => %{optional(String.t) => any()} | nil,
:rowCount => integer(),
:columnCount => integer(),
:sheetCount => integer(),
:isPublic => boolean(),
:isReadOnly => boolean(),
:fileSize => integer() | nil,
:lastAccessedAt => DateTime.t | nil,
:createdAt => DateTime.t,
:updatedAt => DateTime.t
}
def decode(value) do
value
end
end