Builds dashboard-ready runtime snapshots.
Summary
Functions
Loads recent runs and returns the dashboard snapshot.
Normalizes untrusted URL parameters into dashboard filter and pagination state.
Serializes normalized dashboard state into a stable, minimal query parameter list.
Resolves a unique run id from the bounded recent-run listing.
Types
@type t() :: %SquidSonar.Dashboard{ filtered_count: non_neg_integer(), filters: map(), load_error: term() | nil, loaded_at: DateTime.t(), loaded_count: non_neg_integer(), page: pos_integer(), page_size: pos_integer(), page_sizes: [pos_integer()], queues: [String.t()], runs: [SquidSonar.Runs.RunSummary.t()], status_counts: %{required(atom()) => non_neg_integer()}, statuses: [atom()], terminal_statuses: [atom()], total_pages: pos_integer(), workflows: [String.t()] }
Functions
Loads recent runs and returns the dashboard snapshot.
@spec normalize_params(term()) :: %{ filters: map(), page: pos_integer(), page_size: pos_integer() }
Normalizes untrusted URL parameters into dashboard filter and pagination state.
Serializes normalized dashboard state into a stable, minimal query parameter list.
@spec resolve_run_prefix( term(), keyword() ) :: {:ok, String.t()} | {:error, :invalid_prefix | :not_found | :ambiguous | :unavailable}
Resolves a unique run id from the bounded recent-run listing.
Exact matches win over prefix matches. Ambiguous, invalid, missing, and unavailable results are returned without inspecting guessed run ids.