package handlers import ( "strconv" "github.com/gin-gonic/gin" "git.netcell-it.de/projekte/edgeguard-native/internal/handlers/response" "git.netcell-it.de/projekte/edgeguard-native/internal/services/audit" ) type AuditHandler struct { Repo *audit.Repo } func NewAuditHandler(repo *audit.Repo) *AuditHandler { return &AuditHandler{Repo: repo} } func (h *AuditHandler) Register(rg *gin.RouterGroup) { g := rg.Group("/audit") g.GET("/recent", h.Recent) } // Recent returns the most recent audit_log entries — used by the // dashboard's recent-activity card. ?limit=N (1–100, default 10). func (h *AuditHandler) Recent(c *gin.Context) { limit := 10 if v := c.Query("limit"); v != "" { if n, err := strconv.Atoi(v); err == nil { limit = n } } rows, err := h.Repo.ListRecent(c.Request.Context(), limit) if err != nil { response.Internal(c, err) return } response.OK(c, gin.H{"entries": rows}) }