package handler import ( "net/http" "aiaa-notification-service/internal/store" "github.com/gin-gonic/gin" ) type MessageLogHandler struct { store *store.Store } func NewMessageLogHandler(s *store.Store) *MessageLogHandler { return &MessageLogHandler{store: s} } func (h *MessageLogHandler) List(c *gin.Context) { var filter store.MessageLogFilter if err := c.ShouldBindQuery(&filter); err != nil { c.JSON(http.StatusBadRequest, gin.H{"error": err.Error()}) return } filter.Normalize() logs, total, err := h.store.ListMessageLogs(c.Request.Context(), filter) if err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) return } c.JSON(http.StatusOK, gin.H{ "data": logs, "total": total, "page": filter.Page, }) }