change metadata version to version
This commit is contained in:
parent
95eafd0c47
commit
144e04b998
3 changed files with 35 additions and 19 deletions
|
|
@ -116,4 +116,20 @@ defmodule ToweropsWeb.AgentLive.Helpers do
|
|||
full = format_datetime(datetime, timezone)
|
||||
"#{relative} (#{full})"
|
||||
end
|
||||
|
||||
@doc """
|
||||
Formats agent version for display.
|
||||
|
||||
Handles both legacy semver ("1.2.3") and RFC 3339 timestamp ("2026-02-09T14:30:00Z") formats.
|
||||
Timestamps are displayed as date only (e.g., "2026-02-09").
|
||||
"""
|
||||
def format_agent_version(version) when is_binary(version) do
|
||||
if String.match?(version, ~r/^\d{4}-\d{2}-\d{2}T/) do
|
||||
String.slice(version, 0, 10)
|
||||
else
|
||||
"v#{version}"
|
||||
end
|
||||
end
|
||||
|
||||
def format_agent_version(_), do: nil
|
||||
end
|
||||
|
|
|
|||
|
|
@ -126,16 +126,16 @@
|
|||
<% end %>
|
||||
</:col>
|
||||
|
||||
<:col :let={{_id, agent}} label="Metadata">
|
||||
<%= if agent.metadata["hostname"] do %>
|
||||
<div class="text-sm text-gray-600 dark:text-gray-400">
|
||||
<.icon name="hero-computer-desktop" class="h-4 w-4 inline" />
|
||||
{agent.metadata["hostname"]}
|
||||
<:col :let={{_id, agent}} label="Version">
|
||||
<%= if agent.metadata["version"] do %>
|
||||
<div class="text-sm text-gray-600 dark:text-gray-400 font-mono">
|
||||
{format_agent_version(agent.metadata["version"])}
|
||||
</div>
|
||||
<% end %>
|
||||
<%= if agent.metadata["version"] do %>
|
||||
<div class="text-xs text-gray-500 dark:text-gray-400 mt-0.5 font-mono">
|
||||
v{agent.metadata["version"]}
|
||||
<%= if agent.metadata["hostname"] do %>
|
||||
<div class="text-xs text-gray-500 dark:text-gray-400 mt-0.5">
|
||||
<.icon name="hero-computer-desktop" class="h-3.5 w-3.5 inline" />
|
||||
{agent.metadata["hostname"]}
|
||||
</div>
|
||||
<% end %>
|
||||
</:col>
|
||||
|
|
@ -243,16 +243,16 @@
|
|||
<% end %>
|
||||
</:col>
|
||||
|
||||
<:col :let={{_id, agent}} label="Metadata">
|
||||
<%= if agent.metadata["hostname"] do %>
|
||||
<div class="text-sm text-gray-600 dark:text-gray-400">
|
||||
<.icon name="hero-computer-desktop" class="h-4 w-4 inline" />
|
||||
{agent.metadata["hostname"]}
|
||||
<:col :let={{_id, agent}} label="Version">
|
||||
<%= if agent.metadata["version"] do %>
|
||||
<div class="text-sm text-gray-600 dark:text-gray-400 font-mono">
|
||||
{format_agent_version(agent.metadata["version"])}
|
||||
</div>
|
||||
<% end %>
|
||||
<%= if agent.metadata["version"] do %>
|
||||
<div class="text-xs text-gray-500 dark:text-gray-400 mt-0.5 font-mono">
|
||||
v{agent.metadata["version"]}
|
||||
<%= if agent.metadata["hostname"] do %>
|
||||
<div class="text-xs text-gray-500 dark:text-gray-400 mt-0.5">
|
||||
<.icon name="hero-computer-desktop" class="h-3.5 w-3.5 inline" />
|
||||
{agent.metadata["hostname"]}
|
||||
</div>
|
||||
<% end %>
|
||||
</:col>
|
||||
|
|
|
|||
|
|
@ -204,18 +204,18 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Agent Metadata -->
|
||||
<!-- Agent Details -->
|
||||
<%= if @agent_token.metadata && map_size(@agent_token.metadata) > 0 do %>
|
||||
<div class="mt-6 bg-white dark:bg-gray-800/50 border border-gray-200 dark:border-white/10 rounded-lg p-6">
|
||||
<h3 class="text-lg font-semibold text-gray-900 dark:text-white mb-4">
|
||||
Agent Metadata
|
||||
Agent Details
|
||||
</h3>
|
||||
<dl class="grid grid-cols-1 gap-4 sm:grid-cols-2">
|
||||
<%= if @agent_token.metadata["version"] do %>
|
||||
<div>
|
||||
<dt class="text-sm font-medium text-gray-600 dark:text-gray-400">Version</dt>
|
||||
<dd class="mt-1 text-sm text-gray-900 dark:text-white font-mono">
|
||||
{@agent_token.metadata["version"]}
|
||||
{format_agent_version(@agent_token.metadata["version"])}
|
||||
</dd>
|
||||
</div>
|
||||
<% end %>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue