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" ) // StarConfigPublicHandler serves GET /api/v1/star/configs (DeviceAuth). type StarConfigPublicHandler struct { Repo *repository.AdminRepo } // Register mounts public star config routes. func (h *StarConfigPublicHandler) Register(api *gin.RouterGroup) { api.GET("/star/configs", h.ListActive) } func (h *StarConfigPublicHandler) ListActive(c *gin.Context) { if h.Repo == nil { response.OK(c, gin.H{"items": []repository.StarConfigRow{}}) return } items, err := h.Repo.ListActiveStarConfigs(c.Request.Context()) if err != nil { response.Fail(c, http.StatusInternalServerError, 50054, "star configs failed") return } if items == nil { items = []repository.StarConfigRow{} } response.OK(c, gin.H{"items": items}) }