chris_st
11/26/2022, 2:00 PMrp_st
11/26/2022, 2:21 PMrp_st
11/26/2022, 2:22 PMrp_st
11/26/2022, 2:22 PMchris_st
11/26/2022, 2:34 PMchris_st
11/26/2022, 2:39 PMrp_st
11/26/2022, 2:41 PMrp_st
11/26/2022, 2:41 PMgo
import (
"github.com/supertokens/supertokens-golang/recipe/passwordless"
"github.com/supertokens/supertokens-golang/recipe/passwordless/plessmodels"
"github.com/supertokens/supertokens-golang/supertokens"
)
func main() {
passwordless.Init(plessmodels.TypeInput{
Override: &plessmodels.OverrideStruct{
APIs: func(originalImplementation plessmodels.APIInterface) plessmodels.APIInterface {
ogCreateCodePOST := *originalImplementation.CreateCodePOST
(*originalImplementation.CreateCodePOST) = func(email, phoneNumber *string, options plessmodels.APIOptions, userContext supertokens.UserContext) (plessmodels.CreateCodePOSTResponse, error) {
user, err := passwordless.GetUserByEmail(*email)
if err != nil {
return plessmodels.CreateCodePOSTResponse{}, err
}
if user != nil {
// this means that the user with this email already exist, so it's a sign in
// so we allow it
return ogCreateCodePOST(email, phoneNumber, options, userContext)
}
// this means that the user does not exist and is trying to sign up, which we
// disallow
return plessmodels.CreateCodePOSTResponse{
GeneralError: &supertokens.GeneralErrorResponse{
Message: "Sign up is disabled",
},
}, nil
}
return originalImplementation
},
},
})
}
chris_st
11/26/2022, 2:49 PMchris_st
11/26/2022, 2:50 PMrp_st
11/26/2022, 2:57 PMITEnthusiasm
11/26/2022, 3:27 PMITEnthusiasm
11/26/2022, 3:27 PMrp_st
11/26/2022, 6:00 PM