lib/spatio/model/calendar_operation_result.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.CalendarOperationResult do
  @moduledoc """
  Generic platform-operation envelope used by Calendar list/create/ update/delete responses. `data` is operation-specific:   - listEvents: `ListEventsData`   - createEvent / updateEvent: `Event`   - deleteEvent: empty / metadata-only 
  """

  @derive JSON.Encoder
  defstruct [
    :success,
    :data,
    :errors,
    :metadata
  ]

  @type t :: %__MODULE__{
    :success => boolean(),
    :data => any() | nil,
    :errors => [Spatio.Model.CalendarAccountError.t] | nil,
    :metadata => %{optional(String.t) => any()} | nil
  }

  alias Spatio.Deserializer

  def decode(value) do
    value
     |> Deserializer.deserialize(:errors, :list, Spatio.Model.CalendarAccountError)
  end
end