package http import ( "strconv" "strings" "backupx/server/internal/service" "backupx/server/pkg/response" "github.com/gin-gonic/gin" ) type AuditHandler struct { auditService *service.AuditService } func NewAuditHandler(auditService *service.AuditService) *AuditHandler { return &AuditHandler{auditService: auditService} } func (h *AuditHandler) List(c *gin.Context) { category := strings.TrimSpace(c.Query("category")) limit := 50 offset := 0 if v := strings.TrimSpace(c.Query("limit")); v != "" { if parsed, err := strconv.Atoi(v); err == nil && parsed > 0 { limit = parsed } } if v := strings.TrimSpace(c.Query("offset")); v != "" { if parsed, err := strconv.Atoi(v); err == nil && parsed >= 0 { offset = parsed } } result, err := h.auditService.List(c.Request.Context(), category, limit, offset) if err != nil { response.Error(c, err) return } response.Success(c, result) }