39 lines
945 B
Go
39 lines
945 B
Go
|
|
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)
|
||
|
|
}
|