From d32da021fbdd2641fd2e1d3c71b13214621dbc88 Mon Sep 17 00:00:00 2001 From: Patrick Britton Date: Fri, 6 Feb 2026 12:30:00 -0600 Subject: [PATCH] Fix admin ban: add banned/suspended to user_status enum, remove bad audit_log query --- go-backend/internal/handlers/admin_handler.go | 8 -------- go-backend/scripts/fix_user_status_enum.sql | 2 ++ 2 files changed, 2 insertions(+), 8 deletions(-) create mode 100644 go-backend/scripts/fix_user_status_enum.sql diff --git a/go-backend/internal/handlers/admin_handler.go b/go-backend/internal/handlers/admin_handler.go index 1d2c209..2e7b479 100644 --- a/go-backend/internal/handlers/admin_handler.go +++ b/go-backend/internal/handlers/admin_handler.go @@ -470,14 +470,6 @@ func (h *AdminHandler) UpdateUserStatus(c *gin.Context) { } // Revoke ALL refresh tokens immediately h.pool.Exec(ctx, `UPDATE refresh_tokens SET revoked = true WHERE user_id = $1::uuid`, targetUserID) - // Log the banned user's last known IP - h.pool.Exec(ctx, ` - INSERT INTO banned_ips (ip_address, user_id, reason, banned_at) - SELECT COALESCE( - (SELECT ip_address FROM audit_log WHERE target_id = $1::uuid ORDER BY created_at DESC LIMIT 1), - 'unknown' - ), $1::uuid, $2, NOW() - `, targetUserID, req.Reason) } else if req.Status == "suspended" { suspendUntil := time.Now().Add(7 * 24 * time.Hour) // Default 7 day suspension from admin _, err := h.pool.Exec(ctx, `UPDATE users SET status = 'suspended', suspended_until = $2 WHERE id = $1::uuid`, targetUserID, suspendUntil) diff --git a/go-backend/scripts/fix_user_status_enum.sql b/go-backend/scripts/fix_user_status_enum.sql new file mode 100644 index 0000000..cfaa744 --- /dev/null +++ b/go-backend/scripts/fix_user_status_enum.sql @@ -0,0 +1,2 @@ +ALTER TYPE user_status ADD VALUE IF NOT EXISTS 'banned'; +ALTER TYPE user_status ADD VALUE IF NOT EXISTS 'suspended';