fix: align admin behavior and Kratos integrations

This commit is contained in:
2026-08-14 14:14:51 +08:00
parent 8c4c6ba661
commit e0b0e1d8c8
123 changed files with 4334 additions and 1877 deletions
+18 -8
View File
@@ -2,6 +2,7 @@ package handler
import (
"strconv"
"time"
"kra/internal/server/httpx"
"kra/internal/service"
@@ -15,8 +16,8 @@ type Audit struct{ service *service.AuditService }
func NewAudit(service *service.AuditService) *Audit { return &Audit{service: service} }
func page(c *gin.Context) (int, int) {
value, _ := strconv.Atoi(c.DefaultQuery("page", "1"))
size, _ := strconv.Atoi(c.DefaultQuery("pageSize", "10"))
value, _ := strconv.Atoi(c.Query("page"))
size, _ := strconv.Atoi(c.Query("pageSize"))
return value, size
}
func IDsFromQuery(c *gin.Context) []uint {
@@ -37,8 +38,7 @@ func IDsFromQuery(c *gin.Context) []uint {
func (h *Audit) Operations(c *gin.Context) {
p, size := page(c)
status, _ := strconv.Atoi(c.Query("status"))
userID, _ := strconv.ParseUint(c.Query("user_id"), 10, 64)
items, total, err := h.service.OperationsFilter(c.Request.Context(), p, size, c.Query("path"), c.Query("method"), status, c.Query("ip"), uint(userID))
items, total, err := h.service.OperationsFilter(c.Request.Context(), p, size, c.Query("path"), c.Query("method"), status)
if err != nil {
httpx.Fail(c, "获取失败")
return
@@ -52,7 +52,7 @@ func (h *Audit) Operation(c *gin.Context) {
httpx.Fail(c, "查询失败")
return
}
httpx.Write(c, httpx.CodeSuccess, gin.H{"resysOperationRecord": item}, "查询成功")
httpx.Write(c, httpx.CodeSuccess, gin.H{"reSysOperationRecord": item}, "查询成功")
}
func (h *Audit) DeleteOperation(c *gin.Context) {
var req dto.IDRequest
@@ -81,7 +81,8 @@ func (h *Audit) DeleteOperations(c *gin.Context) {
func (h *Audit) Logins(c *gin.Context) {
p, size := page(c)
items, total, err := h.service.LoginsFilter(c.Request.Context(), p, size, c.Query("username"), c.Query("ip"))
status, _ := strconv.ParseBool(c.Query("status"))
items, total, err := h.service.LoginsFilter(c.Request.Context(), p, size, c.Query("username"), status)
if err != nil {
httpx.Fail(c, "获取失败")
return
@@ -216,11 +217,20 @@ func (h *Audit) Error(c *gin.Context) {
httpx.Fail(c, "查询失败")
return
}
httpx.Write(c, httpx.CodeSuccess, gin.H{"resysError": item}, "查询成功")
httpx.Write(c, httpx.CodeSuccess, item, "查询成功")
}
func (h *Audit) Errors(c *gin.Context) {
p, size := page(c)
items, total, err := h.service.ErrorsFilter(c.Request.Context(), p, size, c.Query("form"), c.Query("level"), c.Query("status"))
createdAtRange := make([]time.Time, 0, 2)
for _, raw := range c.QueryArray("createdAtRange[]") {
value, parseErr := time.Parse(time.RFC3339, raw)
if parseErr != nil {
httpx.Fail(c, parseErr.Error())
return
}
createdAtRange = append(createdAtRange, value)
}
items, total, err := h.service.ErrorsFilter(c.Request.Context(), p, size, c.Query("form"), c.Query("info"), createdAtRange)
if err != nil {
httpx.Fail(c, "获取失败")
return