package common import ( "github.com/gin-gonic/gin" "github.com/perfect-panel/server/internal/logic/common" "github.com/perfect-panel/server/internal/svc" "github.com/perfect-panel/server/internal/types" "github.com/perfect-panel/server/pkg/result" ) // Check verification code func CheckVerificationCodeHandler(svcCtx *svc.ServiceContext) func(c *gin.Context) { return CheckVerificationCodeV1Handler(svcCtx) } func CheckVerificationCodeV1Handler(svcCtx *svc.ServiceContext) func(c *gin.Context) { return checkVerificationCodeHandler(svcCtx, false) } func CheckVerificationCodeV2Handler(svcCtx *svc.ServiceContext) func(c *gin.Context) { return checkVerificationCodeHandler(svcCtx, true) } func checkVerificationCodeHandler(svcCtx *svc.ServiceContext, consume bool) func(c *gin.Context) { return func(c *gin.Context) { var req types.CheckVerificationCodeRequest _ = c.ShouldBind(&req) validateErr := svcCtx.Validate(&req) if validateErr != nil { result.ParamErrorResult(c, validateErr) return } l := common.NewCheckVerificationCodeLogic(c.Request.Context(), svcCtx) resp, err := l.CheckVerificationCodeWithBehavior(&req, common.VerifyCodeCheckBehavior{ Source: "canonical", Consume: consume, }) result.HttpResult(c, resp, err) } }