Go: add audit log framework (#17129)

### Summary

Prepare for audit log

---------

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
This commit is contained in:
Jin Hai
2026-07-20 23:50:45 +08:00
committed by GitHub
parent f45f03a016
commit 3670b047f0
11 changed files with 229 additions and 6 deletions

View File

@@ -1968,3 +1968,29 @@ func (h *Handler) GetTokenStatsSummary(c *gin.Context) {
common.SuccessWithData(c, stats, "success")
}
func (h *Handler) ListLogs(c *gin.Context) {
userName := c.Query("user_name")
if userName == "" {
common.ErrorWithCode(c, common.CodeBadRequest, "User name is required")
return
}
days := c.Query("days")
if days == "" {
days = "7"
}
daysInt, err := strconv.Atoi(days)
if err != nil {
common.ErrorWithCode(c, common.CodeBadRequest, "Invalid days")
return
}
stats, err := h.service.ListLogs(userName, daysInt)
if err != nil {
common.ErrorWithCode(c, common.CodeDataError, err.Error())
return
}
common.SuccessWithData(c, stats, "success")
}

View File

@@ -80,6 +80,9 @@ func RegisterEERouter(protected *gin.RouterGroup, r *Router) {
protected.GET("/stats/token/users", r.handler.GetTokenUsersStats)
protected.GET("/stats/token/summary", r.handler.GetTokenStatsSummary)
// Logs
protected.GET("/logs", r.handler.ListLogs)
// Stats data info
protected.GET("/users/:username/activity", r.handler.ShowUserActivity)
protected.GET("/users/:username/dataset", r.handler.ShowUserDatasetSummary)

View File

@@ -1328,3 +1328,16 @@ func (s *Service) GetTokenStatsSummary(fromDate, toDate string) (map[string]inte
return result, nil
}
// ListLogs lists operation logs for the user.
func (s *Service) ListLogs(userName string, days int) ([]map[string]interface{}, error) {
result := []map[string]interface{}{
{
"command": "list_logs",
"user_name": userName,
"days": days,
"error": "'List operation logs' is not supported",
},
}
return result, nil
}