From 7340a3dd48f956cf480341cb7ebc89fbc7f08f7d Mon Sep 17 00:00:00 2001 From: CaoWangrenbo Date: Sun, 30 Aug 2026 17:27:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(api):=20=E5=AE=A1=E8=AE=A1=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=94=AF=E6=8C=81=E6=8C=89=E7=BB=93=E6=9E=9C=E7=AD=9B?= =?UTF-8?q?=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - AuditFilter 增加 Result 字段,Query 按 result 精确过滤 - GET /audit 接口解析 result 查询参数(success/failed) --- internal/api/audit.go | 1 + internal/service/audit.go | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/internal/api/audit.go b/internal/api/audit.go index 5925ddd..4f96531 100644 --- a/internal/api/audit.go +++ b/internal/api/audit.go @@ -53,6 +53,7 @@ func (h *AuditHandler) List(c *gin.Context) { Action: c.Query("action"), ResourceType: c.Query("resource_type"), ResourceID: c.Query("resource_id"), + Result: c.Query("result"), Since: since, Until: until, Page: page, diff --git a/internal/service/audit.go b/internal/service/audit.go index 4b24ab0..83bd1f4 100644 --- a/internal/service/audit.go +++ b/internal/service/audit.go @@ -53,6 +53,7 @@ type AuditFilter struct { Action string // 动作精确匹配 ResourceType string // 资源类型(user / ssh_key / approval ...) ResourceID string // 资源 ID + Result string // 结果(success / failed) Since *time.Time // 起始时间(含) Until *time.Time // 结束时间(含) Page int @@ -74,6 +75,9 @@ func (s *AuditService) Query(ctx context.Context, f AuditFilter) ([]model.AuditL if f.ResourceID != "" { q = q.Where("resource_id = ?", f.ResourceID) } + if f.Result != "" { + q = q.Where("result = ?", f.Result) + } if f.Since != nil { q = q.Where("created_at >= ?", *f.Since) }