// Package handler — recycle bin endpoints. package handler import ( "net/http" "github.com/gin-gonic/gin" "github.com/ShukeBta/MediaStationGo/internal/service" ) func deleteMediaHandler(svc *service.Container) gin.HandlerFunc { return func(c *gin.Context) { if err := svc.Media.SoftDelete(c.Request.Context(), c.Param("id")); err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) return } c.Status(http.StatusNoContent) } } func listRecycleHandler(svc *service.Container) gin.HandlerFunc { return func(c *gin.Context) { items, err := svc.Media.ListRecycleBin(c.Request.Context(), 200) if err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) return } c.JSON(http.StatusOK, gin.H{"items": items}) } } func restoreMediaHandler(svc *service.Container) gin.HandlerFunc { return func(c *gin.Context) { if err := svc.Media.RestoreDeleted(c.Request.Context(), c.Param("id")); err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) return } c.Status(http.StatusNoContent) } } func purgeMediaHandler(svc *service.Container) gin.HandlerFunc { return func(c *gin.Context) { if err := svc.Media.PurgeDeleted(c.Request.Context(), c.Param("id")); err != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()}) return } c.Status(http.StatusNoContent) } }