package handler import ( "net/http" "github.com/gin-gonic/gin" "github.com/yuxingu/digital-psychology/apps/api/internal/repository" "github.com/yuxingu/digital-psychology/apps/api/pkg/response" ) // ImageCardDeckPublicHandler serves GET /api/v1/cards/decks (DeviceAuth). type ImageCardDeckPublicHandler struct { Repo *repository.AdminRepo } // Register mounts public image card deck routes. func (h *ImageCardDeckPublicHandler) Register(api *gin.RouterGroup) { api.GET("/cards/decks", h.ListActive) } func (h *ImageCardDeckPublicHandler) ListActive(c *gin.Context) { if h.Repo == nil { response.OK(c, gin.H{"items": []repository.ImageCardDeckRow{}}) return } items, err := h.Repo.ListActiveImageCardDecks(c.Request.Context()) if err != nil { response.Fail(c, http.StatusInternalServerError, 50054, "card decks failed") return } if items == nil { items = []repository.ImageCardDeckRow{} } response.OK(c, gin.H{"items": items}) }