caclawphony/elixir/lib/symphony_elixir/linear/issue.ex
Alex Kotliarskyi fa75ec68c2 🎼
2026-03-04 09:29:11 -08:00

44 lines
1.0 KiB
Elixir

defmodule SymphonyElixir.Linear.Issue do
@moduledoc """
Normalized Linear issue representation used by the orchestrator.
"""
defstruct [
:id,
:identifier,
:title,
:description,
:priority,
:state,
:branch_name,
:url,
:assignee_id,
blocked_by: [],
labels: [],
assigned_to_worker: true,
created_at: nil,
updated_at: nil
]
@type t :: %__MODULE__{
id: String.t() | nil,
identifier: String.t() | nil,
title: String.t() | nil,
description: String.t() | nil,
priority: integer() | nil,
state: String.t() | nil,
branch_name: String.t() | nil,
url: String.t() | nil,
assignee_id: String.t() | nil,
labels: [String.t()],
assigned_to_worker: boolean(),
created_at: DateTime.t() | nil,
updated_at: DateTime.t() | nil
}
@spec label_names(t()) :: [String.t()]
def label_names(%__MODULE__{labels: labels}) do
labels
end
end