fix: capture server nickname (member displayName) per action

Rename server_name (guild name) to server_nick and populate it from
the member's server-specific display name (metadata.member.displayName)
at write time. This is what the moderation dashboard should show as
TARGET — e.g. server nick 'Bandar Togel「✔ ᵛᵉʳᶦᶠᶦᵉᵈ 」' for global
username '.nichiyobi'. Backfilled 210 existing actions from messages
metadata (reset_nickname rows now show 'Sarjana .jav', 'Penindas
Minoritas', etc). Frontend TARGET shows server nick with global
username as secondary context.
This commit is contained in:
asepharyana
2026-08-27 13:50:37 +07:00
parent 4991164591
commit ea23c405fa
10 changed files with 46 additions and 19 deletions
@@ -125,7 +125,7 @@ export class ModerationRepository {
a.evidence,
a.policy_version,
a.username,
a.server_name,
a.server_nick,
LEFT(m.content, 300) AS content
FROM moderation_actions a
LEFT JOIN messages m ON m.id = a.message_id
@@ -156,7 +156,7 @@ export class ModerationRepository {
evidence: parseJsonArray(r.evidence),
policy_version: r.policy_version ? String(r.policy_version) : null,
username: r.username ? String(r.username) : null,
server_name: r.server_name ? String(r.server_name) : null,
server_nick: r.server_nick ? String(r.server_nick) : null,
content: r.content ? String(r.content) : null,
}));
@@ -340,7 +340,7 @@ export class ModerationRepository {
confidence: r.confidence != null ? Number(r.confidence) : null,
score: r.score != null ? Number(r.score) : null,
username: r.username ? String(r.username) : null,
server_name: r.server_name ? String(r.server_name) : null,
server_nick: r.server_nick ? String(r.server_nick) : null,
content: r.content ? String(r.content) : null,
}));
}