Skip to content

Commit 13f304b

Browse files
committed
fix: PR comments
1 parent 9f11bb9 commit 13f304b

File tree

8 files changed

+32
-15
lines changed

8 files changed

+32
-15
lines changed

recipe/emailpassword/recipe.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,12 @@ func MakeRecipe(recipeId string, appInfo supertokens.NormalisedAppinfo, config *
6161
r.EmailDelivery = emaildelivery.MakeIngredient(verifiedConfig.GetEmailDeliveryConfig(r.RecipeImpl))
6262
}
6363

64-
supertokens.AddPostInitCallback(func() {
64+
supertokens.AddPostInitCallback(func() error {
6565
emailVerificationRecipe := emailverification.GetRecipeInstance()
6666
if emailVerificationRecipe != nil {
6767
emailVerificationRecipe.AddGetEmailForUserIdFunc(r.getEmailForUserId)
6868
}
69+
return nil
6970
})
7071

7172
return *r, nil

recipe/emailverification/evmodels/models.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ import (
2222

2323
type TypeGetEmailForUserID func(userID string, userContext supertokens.UserContext) (TypeEmailInfo, error)
2424

25+
type TypeMode string
26+
27+
const (
28+
ModeRequired TypeMode = "REQUIRED"
29+
ModeOptional TypeMode = "OPTIONAL"
30+
)
31+
2532
type TypeEmailInfo struct {
2633
OK *struct {
2734
Email string
@@ -31,15 +38,15 @@ type TypeEmailInfo struct {
3138
}
3239

3340
type TypeInput struct {
34-
Mode string
41+
Mode TypeMode
3542
GetEmailForUserID TypeGetEmailForUserID
3643
CreateAndSendCustomEmail func(user User, emailVerificationURLWithToken string, userContext supertokens.UserContext) // Deprecated: Use EmailDelivery instead.
3744
Override *OverrideStruct
3845
EmailDelivery *emaildelivery.TypeInput
3946
}
4047

4148
type TypeNormalisedInput struct {
42-
Mode string
49+
Mode TypeMode
4350
GetEmailForUserID TypeGetEmailForUserID
4451
Override OverrideStruct
4552
GetEmailDeliveryConfig func() emaildelivery.TypeInputWithService

recipe/emailverification/recipe.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,10 +123,10 @@ func recipeInit(config evmodels.TypeInput) supertokens.Recipe {
123123
}
124124
singletonInstance = &recipe
125125

126-
supertokens.AddPostInitCallback(func() {
126+
supertokens.AddPostInitCallback(func() error {
127127
sessionRecipe, err := session.GetRecipeInstanceOrThrowError()
128128
if err != nil {
129-
return
129+
return err
130130
}
131131

132132
sessionRecipe.AddClaimFromOtherRecipe(evclaims.EmailVerificationClaim)
@@ -136,6 +136,7 @@ func recipeInit(config evmodels.TypeInput) supertokens.Recipe {
136136
evclaims.EmailVerificationClaimValidators.IsVerified(nil),
137137
)
138138
}
139+
return nil
139140
})
140141
return &singletonInstance.RecipeModule, nil
141142
}

recipe/emailverification/utils.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ import (
2525
)
2626

2727
func validateAndNormaliseUserInput(appInfo supertokens.NormalisedAppinfo, config evmodels.TypeInput) (evmodels.TypeNormalisedInput, error) {
28-
if config.Mode != "REQUIRED" && config.Mode != "OPTIONAL" {
29-
return evmodels.TypeNormalisedInput{}, errors.New("mode must be either REQUIRED or OPTIONAL")
28+
if config.Mode != evmodels.ModeRequired && config.Mode != evmodels.ModeOptional {
29+
return evmodels.TypeNormalisedInput{}, errors.New("mode must be either ModeRequired or ModeOptional")
3030
}
3131
typeNormalisedInput := makeTypeNormalisedInput(appInfo)
3232

recipe/session/claims/claims.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ type SessionClaimValidator struct {
4646

4747
type ClaimValidationResult struct {
4848
IsValid bool
49-
Reason interface{}
49+
Reason interface{} // This can be nil, add checks when used
5050
}
5151

5252
type ClaimValidationError struct {
5353
ID string
54-
Reason interface{}
54+
Reason interface{} // This can be nil, add checks when used
5555
}

recipe/session/errors/errors.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ const (
2121
UnauthorizedErrorStr = "UNAUTHORISED"
2222
TryRefreshTokenErrorStr = "TRY_REFRESH_TOKEN"
2323
TokenTheftDetectedErrorStr = "TOKEN_THEFT_DETECTED"
24+
InvalidClaimsErrorStr = "INVALID_CLAIMS"
2425
)
2526

2627
// TryRefreshTokenError used for when the refresh API needs to be called

supertokens/main.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,10 @@ func Init(config TypeInput) error {
2424
if err != nil {
2525
return err
2626
}
27-
runPostInitCallbacks()
27+
err = runPostInitCallbacks()
28+
if err != nil {
29+
return err
30+
}
2831
return nil
2932
}
3033

supertokens/postInitCallbacks.go

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
package supertokens
22

3-
var postInitCallbacks = []func(){}
3+
var postInitCallbacks = []func() error{}
44

5-
func AddPostInitCallback(cb func()) {
5+
func AddPostInitCallback(cb func() error) {
66
postInitCallbacks = append(postInitCallbacks, cb)
77
}
88

9-
func runPostInitCallbacks() {
9+
func runPostInitCallbacks() error {
1010
for _, cb := range postInitCallbacks {
11-
cb()
11+
err := cb()
12+
if err != nil {
13+
return err
14+
}
1215
}
13-
postInitCallbacks = []func(){}
16+
postInitCallbacks = []func() error{}
17+
return nil
1418
}

0 commit comments

Comments
 (0)