package handler import ( "with_you/internal/pkg/response" "with_you/internal/service" "github.com/gin-gonic/gin" ) type SetupHandler struct { setupService service.SetupService } func NewSetupHandler(setupService service.SetupService) *SetupHandler { return &SetupHandler{ setupService: setupService, } } func (h *SetupHandler) SetupSuperAdmin(c *gin.Context) { type SetupSuperAdminRequest struct { UserID string `json:"user_id" binding:"required"` SetupSecret string `json:"setup_secret" binding:"required"` } var req SetupSuperAdminRequest if err := c.ShouldBindJSON(&req); err != nil { response.BadRequest(c, "user_id and setup_secret are required") return } if err := h.setupService.SetupSuperAdmin(c.Request.Context(), req.UserID, req.SetupSecret); err != nil { response.HandleError(c, err, "failed to setup super admin") return } response.SuccessWithMessage(c, "超级管理员设置成功", nil) }