Files
team-api/api/admin/v1/audit.go
T

120 lines
4.7 KiB
Go

package v1
import "github.com/gogf/gf/v2/frame/g"
// === 审计管理 ===
type AuditConfigGetReq struct {
g.Meta `path:"/audit/config" method:"get" mime:"json" tags:"管理后台-审计" summary:"获取审计配置"`
}
type AuditConfigGetRes struct {
AuditLevel string `json:"audit_level"`
}
type AuditConfigUpdateReq struct {
g.Meta `path:"/audit/config" method:"put" mime:"json" tags:"管理后台-审计" summary:"更新审计配置"`
AuditLevel string `json:"audit_level" v:"required|in:full,full_text,masked,question_only,none"`
}
type AuditConfigUpdateRes struct{}
type OperationLogListReq struct {
g.Meta `path:"/audit/operation-logs" method:"get" mime:"json" tags:"管理后台-审计" summary:"操作日志列表"`
Page int `json:"page" d:"1"`
PageSize int `json:"page_size" d:"20"`
UserID int `json:"user_id" dc:"用户ID"`
UserType string `json:"user_type" dc:"用户类型"`
Action string `json:"action" dc:"操作类型"`
StartDate string `json:"start_date" dc:"开始日期"`
EndDate string `json:"end_date" dc:"结束日期"`
}
type OperationLogListRes struct {
List []map[string]any `json:"list"`
Total int `json:"total"`
Page int `json:"page"`
PageSize int `json:"page_size"`
}
type SensitiveLogListReq struct {
g.Meta `path:"/audit/sensitive-logs" method:"get" mime:"json" tags:"管理后台-审计" summary:"敏感访问日志"`
Page int `json:"page" d:"1"`
PageSize int `json:"page_size" d:"20"`
UserID int `json:"user_id" dc:"用户ID"`
ResourceType string `json:"resource_type" dc:"资源类型"`
}
type SensitiveLogListRes struct {
List []map[string]any `json:"list"`
Total int `json:"total"`
Page int `json:"page"`
PageSize int `json:"page_size"`
}
type RequestAuditLogListReq struct {
g.Meta `path:"/audit/request-logs" method:"get" mime:"json" tags:"管理后台-审计" summary:"请求审计日志"`
Page int `json:"page" d:"1"`
PageSize int `json:"page_size" d:"20"`
TenantID int `json:"tenant_id" dc:"租户ID"`
ApiKeyID int `json:"api_key_id" dc:"API Key ID"`
Username string `json:"username" dc:"用户名(模糊匹配)"`
RequestId string `json:"request_id" dc:"Request ID(精确匹配)"`
TaskId string `json:"task_id" dc:"异步任务ID(精确匹配)"`
Method string `json:"method" dc:"HTTP 方法"`
Path string `json:"path" dc:"请求路径"`
StatusCode int `json:"status_code" dc:"状态码"`
StartDate string `json:"start_date" dc:"开始日期"`
EndDate string `json:"end_date" dc:"结束日期"`
}
type RequestAuditLogListRes struct {
List []map[string]any `json:"list"`
Total int `json:"total"`
Page int `json:"page"`
PageSize int `json:"page_size"`
}
type RequestAuditLogDetailReq struct {
g.Meta `path:"/audit/request-logs/{id}" method:"get" mime:"json" tags:"管理后台-审计" summary:"请求审计日志详情"`
Id int64 `json:"id" in:"path" v:"required|min:1"`
}
type RequestAuditLogDetailRes struct {
Data map[string]any `json:"data"`
}
// OperationLogExportReq 导出操作日志请求
type OperationLogExportReq struct {
g.Meta `path:"/audit/operation-logs/export" method:"get" mime:"json" tags:"管理后台-审计" summary:"导出操作日志"`
Format string `json:"format" in:"query" d:"csv" v:"in:csv,xlsx" dc:"导出格式:csv / xlsx"`
UserID int `json:"user_id" in:"query" dc:"用户ID"`
UserType string `json:"user_type" in:"query" dc:"用户类型"`
Action string `json:"action" in:"query" dc:"操作类型"`
StartDate string `json:"start_date" in:"query" dc:"开始日期"`
EndDate string `json:"end_date" in:"query" dc:"结束日期"`
}
type OperationLogExportRes struct{}
// === 内容过滤拦截日志 ===
type ContentFilterLogListReq struct {
g.Meta `path:"/audit/content-filter-logs" method:"get" mime:"json" tags:"管理后台-审计" summary:"内容过滤拦截日志"`
Page int `json:"page" d:"1"`
PageSize int `json:"page_size" d:"20"`
TenantID int `json:"tenant_id" dc:"租户ID"`
Mode string `json:"mode" dc:"过滤模式:log/replace/block"`
Blocked string `json:"blocked" dc:"是否被拦截:true/false"`
StartDate string `json:"start_date" dc:"开始日期"`
EndDate string `json:"end_date" dc:"结束日期"`
Keyword string `json:"keyword" dc:"关键词搜索(敏感词/路径)"`
}
type ContentFilterLogListRes struct {
List []map[string]any `json:"list"`
Total int `json:"total"`
Page int `json:"page"`
PageSize int `json:"page_size"`
}