extend fields to sort by

This commit is contained in:
pascal
2026-02-16 14:11:03 +01:00
parent 8eb4cd8884
commit 9425c7d77d
3 changed files with 8 additions and 2 deletions

View File

@@ -27,6 +27,9 @@ var validSortFields = map[string]string{
"status_code": "status_code", "status_code": "status_code",
"duration": "duration", "duration": "duration",
"source_ip": "location_connection_ip", "source_ip": "location_connection_ip",
"user_id": "user_id",
"auth_method": "auth_method_used",
"reason": "reason",
} }
// AccessLogFilter holds pagination, filtering, and sorting parameters for access logs // AccessLogFilter holds pagination, filtering, and sorting parameters for access logs
@@ -37,7 +40,7 @@ type AccessLogFilter struct {
PageSize int PageSize int
// Sorting parameters // Sorting parameters
SortBy string // Field to sort by: timestamp, host, path, method, status_code, duration, source_ip SortBy string // Field to sort by: timestamp, host, path, method, status_code, duration, source_ip, user_id, auth_method, reason
SortOrder string // Sort order: asc or desc (default: desc) SortOrder string // Sort order: asc or desc (default: desc)
// Filtering parameters // Filtering parameters

View File

@@ -387,6 +387,9 @@ func TestAccessLogFilter_ValidSortFields(t *testing.T) {
{"status_code", "status_code", "status_code", "status_code"}, {"status_code", "status_code", "status_code", "status_code"},
{"duration", "duration", "duration", "duration"}, {"duration", "duration", "duration", "duration"},
{"source_ip", "source_ip", "location_connection_ip", "source_ip"}, {"source_ip", "source_ip", "location_connection_ip", "source_ip"},
{"user_id", "user_id", "user_id", "user_id"},
{"auth_method", "auth_method", "auth_method_used", "auth_method"},
{"reason", "reason", "reason", "reason"},
} }
for _, tt := range tests { for _, tt := range tests {

View File

@@ -7413,7 +7413,7 @@ paths:
name: sort_by name: sort_by
schema: schema:
type: string type: string
enum: [timestamp, host, path, method, status_code, duration, source_ip] enum: [timestamp, host, path, method, status_code, duration, source_ip, user_id, auth_method, reason]
default: timestamp default: timestamp
description: Field to sort by description: Field to sort by
- in: query - in: query