From d567966d4156347254da83f7ca0110282e7175de Mon Sep 17 00:00:00 2001 From: LD-Reborn Date: Wed, 29 Jul 2026 19:18:15 +0200 Subject: [PATCH] fix(server): fixes link to group not working --- src/Ngino.Server/ManagementStore.cs | 8 ++++---- src/Ngino.Server/wwwroot/admin/app.js | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Ngino.Server/ManagementStore.cs b/src/Ngino.Server/ManagementStore.cs index 54b6f02..b49bbaf 100644 --- a/src/Ngino.Server/ManagementStore.cs +++ b/src/Ngino.Server/ManagementStore.cs @@ -1198,7 +1198,7 @@ internal sealed class ManagementStore using var connection = OpenConnection(); using var command = connection.CreateCommand(); command.CommandText = """ - SELECT g.name, gm.client_id, gm.client_pattern + SELECT g.id, gm.client_id, gm.client_pattern FROM group_members gm INNER JOIN groups g ON gm.group_id = g.id """; @@ -1206,14 +1206,14 @@ internal sealed class ManagementStore using var reader = command.ExecuteReader(); while (reader.Read()) { - var groupName = reader.GetString(0); + var groupId = reader.GetString(0); var explicitClientId = reader.IsDBNull(1) ? null : reader.GetString(1); var pattern = reader.IsDBNull(2) ? null : reader.GetString(2); if (!string.IsNullOrWhiteSpace(explicitClientId) && result.TryGetValue(explicitClientId, out var explicitGroups)) { - explicitGroups.Add(groupName); + explicitGroups.Add(groupId); } else if (!string.IsNullOrWhiteSpace(pattern)) { @@ -1231,7 +1231,7 @@ internal sealed class ManagementStore { if (regex.IsMatch(clientId) && result.TryGetValue(clientId, out var groups)) { - groups.Add(groupName); + groups.Add(groupId); } } } diff --git a/src/Ngino.Server/wwwroot/admin/app.js b/src/Ngino.Server/wwwroot/admin/app.js index 49c8310..7134a80 100644 --- a/src/Ngino.Server/wwwroot/admin/app.js +++ b/src/Ngino.Server/wwwroot/admin/app.js @@ -483,6 +483,7 @@ function renderClients() { function clientsTable(clients) { const clientGroups = state.summary?.clientGroups || {}; + const groupNames = Object.fromEntries((state.summary?.groups || []).map((g) => [g.id, g.name])); const rows = clients.map((client) => { const groups = clientGroups[client.id] || []; return ` @@ -507,7 +508,7 @@ function clientsTable(clients) { ${modelBadges(client.activeModels)}
- ${groups.length ? groups.map((g) => `${escapeHtml(g)}`).join("") : `None`} + ${groups.length ? groups.map((g) => `${escapeHtml(groupNames[g] || g)}`).join("") : `None`}