Skip to content

Commit 07c196e

Browse files
committed
fix: signinup changes
1 parent b6cfb93 commit 07c196e

File tree

20 files changed

+54
-87
lines changed

20 files changed

+54
-87
lines changed

recipe/thirdparty/api/implementation.go

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
"strings"
2727

2828
"github.com/derekstavis/go-qs"
29+
"github.com/supertokens/supertokens-golang/recipe/emailverification"
2930
"github.com/supertokens/supertokens-golang/recipe/session"
3031
"github.com/supertokens/supertokens-golang/recipe/session/sessmodels"
3132
"github.com/supertokens/supertokens-golang/recipe/thirdparty/tpmodels"
@@ -143,21 +144,24 @@ func MakeAPIImplementation() tpmodels.APIInterface {
143144
}, nil
144145
}
145146

146-
response, err := (*options.RecipeImplementation.SignInUp)(provider.ID, userInfo.ID, *emailInfo, userContext)
147+
response, err := (*options.RecipeImplementation.SignInUp)(provider.ID, userInfo.ID, emailInfo.ID, userContext)
147148
if err != nil {
148149
return tpmodels.SignInUpPOSTResponse{}, err
149150
}
150151

151152
if emailInfo.IsVerified {
152-
tokenResponse, err := (*options.EmailVerificationRecipeImplementation.CreateEmailVerificationToken)(response.OK.User.ID, response.OK.User.Email, userContext)
153-
if err != nil {
154-
return tpmodels.SignInUpPOSTResponse{}, err
155-
}
156-
if tokenResponse.OK != nil {
157-
_, err := (*options.EmailVerificationRecipeImplementation.VerifyEmailUsingToken)(tokenResponse.OK.Token, userContext)
153+
evInstance := emailverification.GetRecipeInstance()
154+
if evInstance != nil {
155+
tokenResponse, err := (*evInstance.RecipeImpl.CreateEmailVerificationToken)(response.OK.User.ID, response.OK.User.Email, userContext)
158156
if err != nil {
159157
return tpmodels.SignInUpPOSTResponse{}, err
160158
}
159+
if tokenResponse.OK != nil {
160+
_, err := (*evInstance.RecipeImpl.VerifyEmailUsingToken)(tokenResponse.OK.Token, userContext)
161+
if err != nil {
162+
return tpmodels.SignInUpPOSTResponse{}, err
163+
}
164+
}
161165
}
162166
}
163167

recipe/thirdparty/getUserByEmailFeature_test.go

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -129,15 +129,9 @@ func TestValidEmailYieldsThirdPartyUsers(t *testing.T) {
129129
return
130130
}
131131

132-
SignInUp("mock", "thirdPartyJohnDoe", tpmodels.EmailStruct{
133-
134-
IsVerified: true,
135-
})
136-
137-
SignInUp("mock2", "thirdPartyDaveDoe", tpmodels.EmailStruct{
138-
139-
IsVerified: false,
140-
})
132+
SignInUp("mock", "thirdPartyJohnDoe", "[email protected]")
133+
134+
SignInUp("mock2", "thirdPartyDaveDoe", "[email protected]")
141135

142136
users, err := GetUsersByEmail("[email protected]")
143137

recipe/thirdparty/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func Init(config *tpmodels.TypeInput) supertokens.Recipe {
3030
return recipeInit(config)
3131
}
3232

33-
func SignInUpWithContext(thirdPartyID string, thirdPartyUserID string, email tpmodels.EmailStruct, userContext supertokens.UserContext) (tpmodels.SignInUpResponse, error) {
33+
func SignInUpWithContext(thirdPartyID string, thirdPartyUserID string, email string, userContext supertokens.UserContext) (tpmodels.SignInUpResponse, error) {
3434
instance, err := getRecipeInstanceOrThrowError()
3535
if err != nil {
3636
return tpmodels.SignInUpResponse{}, err
@@ -62,7 +62,7 @@ func GetUserByThirdPartyInfoWithContext(thirdPartyID, thirdPartyUserID string, u
6262
return (*instance.RecipeImpl.GetUserByThirdPartyInfo)(thirdPartyID, thirdPartyUserID, userContext)
6363
}
6464

65-
func SignInUp(thirdPartyID string, thirdPartyUserID string, email tpmodels.EmailStruct) (tpmodels.SignInUpResponse, error) {
65+
func SignInUp(thirdPartyID string, thirdPartyUserID string, email string) (tpmodels.SignInUpResponse, error) {
6666
return SignInUpWithContext(thirdPartyID, thirdPartyUserID, email, &map[string]interface{}{})
6767
}
6868

recipe/thirdparty/override_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func TestOverrideFunctions(t *testing.T) {
5757
Functions: func(originalImplementation tpmodels.RecipeInterface) tpmodels.RecipeInterface {
5858
originalSignInUp := *originalImplementation.SignInUp
5959
originalGetUserById := *originalImplementation.GetUserByID
60-
*originalImplementation.SignInUp = func(thirdPartyID, thirdPartyUserID string, email tpmodels.EmailStruct, userContext supertokens.UserContext) (tpmodels.SignInUpResponse, error) {
60+
*originalImplementation.SignInUp = func(thirdPartyID, thirdPartyUserID string, email string, userContext supertokens.UserContext) (tpmodels.SignInUpResponse, error) {
6161
resp, err := originalSignInUp(thirdPartyID, thirdPartyUserID, email, userContext)
6262
if err != nil {
6363
return tpmodels.SignInUpResponse{}, err

recipe/thirdparty/recipeImplementation.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ import (
2121
)
2222

2323
func MakeRecipeImplementation(querier supertokens.Querier) tpmodels.RecipeInterface {
24-
signInUp := func(thirdPartyID, thirdPartyUserID string, email tpmodels.EmailStruct, userContext supertokens.UserContext) (tpmodels.SignInUpResponse, error) {
24+
signInUp := func(thirdPartyID, thirdPartyUserID string, email string, userContext supertokens.UserContext) (tpmodels.SignInUpResponse, error) {
2525
response, err := querier.SendPostRequest("/recipe/signinup", map[string]interface{}{
2626
"thirdPartyId": thirdPartyID,
2727
"thirdPartyUserId": thirdPartyUserID,
28-
"email": email,
28+
"email": map[string]interface{}{"id": email},
2929
})
3030
if err != nil {
3131
return tpmodels.SignInUpResponse{}, err

recipe/thirdparty/tpmodels/apiInterface.go

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import (
1919
"net/http"
2020

2121
"github.com/supertokens/supertokens-golang/ingredients/emaildelivery"
22-
"github.com/supertokens/supertokens-golang/recipe/emailverification/evmodels"
2322
"github.com/supertokens/supertokens-golang/recipe/session/sessmodels"
2423
"github.com/supertokens/supertokens-golang/supertokens"
2524
)
@@ -47,14 +46,13 @@ type SignInUpPOSTResponse struct {
4746
}
4847

4948
type APIOptions struct {
50-
RecipeImplementation RecipeInterface
51-
EmailVerificationRecipeImplementation evmodels.RecipeInterface
52-
Config TypeNormalisedInput
53-
RecipeID string
54-
Providers []TypeProvider
55-
Req *http.Request
56-
Res http.ResponseWriter
57-
OtherHandler http.HandlerFunc
58-
AppInfo supertokens.NormalisedAppinfo
59-
EmailDelivery emaildelivery.Ingredient
49+
RecipeImplementation RecipeInterface
50+
Config TypeNormalisedInput
51+
RecipeID string
52+
Providers []TypeProvider
53+
Req *http.Request
54+
Res http.ResponseWriter
55+
OtherHandler http.HandlerFunc
56+
AppInfo supertokens.NormalisedAppinfo
57+
EmailDelivery emaildelivery.Ingredient
6058
}

recipe/thirdparty/tpmodels/models.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,11 +63,6 @@ type User struct {
6363
} `json:"thirdParty"`
6464
}
6565

66-
type TypeInputEmailVerificationFeature struct {
67-
GetEmailVerificationURL func(user User, userContext supertokens.UserContext) (string, error)
68-
CreateAndSendCustomEmail func(user User, emailVerificationURLWithToken string, userContext supertokens.UserContext) // Deprecated: Use EmailDelivery instead.
69-
}
70-
7166
type TypeInputSignInAndUp struct {
7267
Providers []TypeProvider
7368
}

recipe/thirdparty/tpmodels/recipeInterface.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ type RecipeInterface struct {
2121
GetUserByID *func(userID string, userContext supertokens.UserContext) (*User, error)
2222
GetUsersByEmail *func(email string, userContext supertokens.UserContext) ([]User, error)
2323
GetUserByThirdPartyInfo *func(thirdPartyID string, thirdPartyUserID string, userContext supertokens.UserContext) (*User, error)
24-
SignInUp *func(thirdPartyID string, thirdPartyUserID string, email EmailStruct, userContext supertokens.UserContext) (SignInUpResponse, error)
24+
SignInUp *func(thirdPartyID string, thirdPartyUserID string, email string, userContext supertokens.UserContext) (SignInUpResponse, error)
2525
}
2626

2727
type SignInUpResponse struct {

recipe/thirdpartyemailpassword/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func Init(config *tpepmodels.TypeInput) supertokens.Recipe {
2828
return recipeInit(config)
2929
}
3030

31-
func ThirdPartySignInUpWithContext(thirdPartyID string, thirdPartyUserID string, email tpepmodels.EmailStruct, userContext supertokens.UserContext) (tpepmodels.SignInUpResponse, error) {
31+
func ThirdPartySignInUpWithContext(thirdPartyID string, thirdPartyUserID string, email string, userContext supertokens.UserContext) (tpepmodels.SignInUpResponse, error) {
3232
instance, err := getRecipeInstanceOrThrowError()
3333
if err != nil {
3434
return tpepmodels.SignInUpResponse{}, err
@@ -108,7 +108,7 @@ func SendEmailWithContext(input emaildelivery.EmailType, userContext supertokens
108108
return (*instance.EmailDelivery.IngredientInterfaceImpl.SendEmail)(input, userContext)
109109
}
110110

111-
func ThirdPartySignInUp(thirdPartyID string, thirdPartyUserID string, email tpepmodels.EmailStruct) (tpepmodels.SignInUpResponse, error) {
111+
func ThirdPartySignInUp(thirdPartyID string, thirdPartyUserID string, email string) (tpepmodels.SignInUpResponse, error) {
112112
return ThirdPartySignInUpWithContext(thirdPartyID, thirdPartyUserID, email, &map[string]interface{}{})
113113
}
114114

recipe/thirdpartyemailpassword/recipeimplementation/main.go

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,18 +84,15 @@ func MakeRecipeImplementation(emailPasswordQuerier supertokens.Querier, thirdPar
8484
}, nil
8585
}
8686

87-
var ogSignInUp func(thirdPartyID string, thirdPartyUserID string, email tpmodels.EmailStruct, userContext supertokens.UserContext) (tpmodels.SignInUpResponse, error) = nil
87+
var ogSignInUp func(thirdPartyID string, thirdPartyUserID string, email string, userContext supertokens.UserContext) (tpmodels.SignInUpResponse, error) = nil
8888
if thirdPartyImplementation != nil {
8989
ogSignInUp = *thirdPartyImplementation.SignInUp
9090
}
91-
signInUp := func(thirdPartyID, thirdPartyUserID string, email tpepmodels.EmailStruct, userContext supertokens.UserContext) (tpepmodels.SignInUpResponse, error) {
91+
signInUp := func(thirdPartyID, thirdPartyUserID string, email string, userContext supertokens.UserContext) (tpepmodels.SignInUpResponse, error) {
9292
if ogSignInUp == nil {
9393
return tpepmodels.SignInUpResponse{}, errors.New("no thirdparty provider configured")
9494
}
95-
result, err := ogSignInUp(thirdPartyID, thirdPartyUserID, tpmodels.EmailStruct{
96-
ID: email.ID,
97-
IsVerified: email.IsVerified,
98-
}, userContext)
95+
result, err := ogSignInUp(thirdPartyID, thirdPartyUserID, email, userContext)
9996
if err != nil {
10097
return tpepmodels.SignInUpResponse{}, err
10198
}

0 commit comments

Comments
 (0)