lib/spatio/model/task.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.Task do
  @moduledoc """
  A to-do / reminder / issue. Tasks belong to one connected account (`accountId` + `provider`). Native tasks store in Spatio's DB; external providers (Linear, GitHub Issues, Todoist, etc.) round-trip through Spatio. 
  """

  @derive JSON.Encoder
  defstruct [
    :id,
    :provider,
    :accountId,
    :ownerUserId,
    :title,
    :description,
    :status,
    :completed,
    :dueDate,
    :priority,
    :labels,
    :tags,
    :assigneeId,
    :createdAt,
    :updatedAt,
    :completedAt,
    :parentTaskId,
    :metadata,
    :type,
    :sourcePlatform,
    :sourceId
  ]

  @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,
    :status => String.t | nil,
    :completed => boolean(),
    :dueDate => DateTime.t | nil,
    :priority => String.t,
    :labels => [String.t] | nil,
    :tags => [String.t] | nil,
    :assigneeId => String.t | nil,
    :createdAt => DateTime.t,
    :updatedAt => DateTime.t,
    :completedAt => DateTime.t | nil,
    :parentTaskId => String.t | nil,
    :metadata => %{optional(String.t) => any()} | nil,
    :type => String.t | nil,
    :sourcePlatform => String.t | nil,
    :sourceId => String.t | nil
  }

  def decode(value) do
    value
  end
end