lib/spatio/model/sheet.ex

# 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