package tasks import ( "net/http" "github.com/gin-gonic/gin" ) // Handler provides HTTP endpoints for task status type Handler struct { manager *Manager } // NewHandler creates a new task handler func NewHandler(manager *Manager) *Handler { return &Handler{ manager: manager, } } // List returns all active and recent tasks func (h *Handler) List(c *gin.Context) { tasks := h.manager.List() c.JSON(http.StatusOK, gin.H{"tasks": tasks}) } // Get returns a single task by ID func (h *Handler) Get(c *gin.Context) { taskID := c.Param("id") task, err := h.manager.Get(taskID) if err != nil { c.JSON(http.StatusNotFound, gin.H{"error": "task not found"}) return } c.JSON(http.StatusOK, task) }