feat(ops): add api key filter to system logs

This commit is contained in:
Bestony
2026-06-27 14:35:19 +08:00
parent c275422251
commit bad87ff533
15 changed files with 134 additions and 5 deletions
+15
View File
@@ -678,6 +678,7 @@ func (r *opsRepository) BatchInsertSystemLogs(ctx context.Context, inputs []*ser
"request_id",
"client_request_id",
"user_id",
"api_key_id",
"account_id",
"platform",
"model",
@@ -719,6 +720,7 @@ func (r *opsRepository) BatchInsertSystemLogs(ctx context.Context, inputs []*ser
opsNullString(input.RequestID),
opsNullString(input.ClientRequestID),
opsNullInt64(input.UserID),
opsNullInt64(input.APIKeyID),
opsNullInt64(input.AccountID),
opsNullString(input.Platform),
opsNullString(input.Model),
@@ -785,6 +787,7 @@ SELECT
COALESCE(l.request_id, ''),
COALESCE(l.client_request_id, ''),
l.user_id,
l.api_key_id,
l.account_id,
COALESCE(l.platform, ''),
COALESCE(l.model, ''),
@@ -804,6 +807,7 @@ LIMIT $` + itoa(len(args)+1) + ` OFFSET $` + itoa(len(args)+2)
for rows.Next() {
item := &service.OpsSystemLog{}
var userID sql.NullInt64
var apiKeyID sql.NullInt64
var accountID sql.NullInt64
var extraRaw string
if err := rows.Scan(
@@ -815,6 +819,7 @@ LIMIT $` + itoa(len(args)+1) + ` OFFSET $` + itoa(len(args)+2)
&item.RequestID,
&item.ClientRequestID,
&userID,
&apiKeyID,
&accountID,
&item.Platform,
&item.Model,
@@ -826,6 +831,10 @@ LIMIT $` + itoa(len(args)+1) + ` OFFSET $` + itoa(len(args)+2)
v := userID.Int64
item.UserID = &v
}
if apiKeyID.Valid {
v := apiKeyID.Int64
item.APIKeyID = &v
}
if accountID.Valid {
v := accountID.Int64
item.AccountID = &v
@@ -1098,6 +1107,11 @@ func buildOpsSystemLogsWhere(filter *service.OpsSystemLogFilter) (string, []any,
clauses = append(clauses, "l.user_id = $"+itoa(len(args)))
hasConstraint = true
}
if filter.APIKeyID != nil && *filter.APIKeyID > 0 {
args = append(args, *filter.APIKeyID)
clauses = append(clauses, "l.api_key_id = $"+itoa(len(args)))
hasConstraint = true
}
if filter.AccountID != nil && *filter.AccountID > 0 {
args = append(args, *filter.AccountID)
clauses = append(clauses, "l.account_id = $"+itoa(len(args)))
@@ -1137,6 +1151,7 @@ func buildOpsSystemLogsCleanupWhere(filter *service.OpsSystemLogCleanupFilter) (
RequestID: filter.RequestID,
ClientRequestID: filter.ClientRequestID,
UserID: filter.UserID,
APIKeyID: filter.APIKeyID,
AccountID: filter.AccountID,
Platform: filter.Platform,
Model: filter.Model,