@@ -4,13 +4,13 @@ import (
44 "errors"
55 "time"
66
7- evclaims "github.com/supertokens/supertokens-golang/recipe/emailverification/claims "
7+ "github.com/supertokens/supertokens-golang/recipe/emailverification/evclaims "
88 "github.com/supertokens/supertokens-golang/recipe/session/claims"
99 "github.com/supertokens/supertokens-golang/supertokens"
1010)
1111
1212// key string, fetchValue claims.FetchValueFunc
13- func NewEmailVerificationClaim () * evclaims.TypeEmailVerificationClaim {
13+ func NewEmailVerificationClaim () (claims. TypeSessionClaim , evclaims.TypeEmailVerificationClaimValidators ) {
1414 fetchValue := func (userId string , userContext supertokens.UserContext ) (interface {}, error ) {
1515 instance , err := getRecipeInstanceOrThrowError ()
1616 if err != nil {
@@ -34,30 +34,28 @@ func NewEmailVerificationClaim() *evclaims.TypeEmailVerificationClaim {
3434 }
3535 }
3636
37- booleanClaim := claims .BooleanClaim ("st-ev" , fetchValue , nil )
37+ evClaim , booleanClaimValidators := claims .BooleanClaim ("st-ev" , fetchValue , nil )
3838
39- emailVerificationClaim := & evclaims.TypeEmailVerificationClaim {
40- TypeBooleanClaim : booleanClaim ,
41- }
42- emailVerificationClaim .Validators = & evclaims.EmailVerificationClaimValidators {
43- BooleanClaimValidators : booleanClaim .Validators ,
44- IsVerified : func (refetchTimeOnFalseInSeconds * int64 ) * claims.SessionClaimValidator {
39+ validators := evclaims.TypeEmailVerificationClaimValidators {
40+ BooleanClaimValidators : booleanClaimValidators ,
41+ IsVerified : func (refetchTimeOnFalseInSeconds * int64 ) claims.SessionClaimValidator {
4542 if refetchTimeOnFalseInSeconds == nil {
4643 var defaultTimeout int64 = 10
4744 refetchTimeOnFalseInSeconds = & defaultTimeout
4845 }
4946
50- claimValidator := booleanClaim . Validators .HasValue (true , nil , nil )
47+ claimValidator := booleanClaimValidators .HasValue (true , nil , nil )
5148 claimValidator .ShouldRefetch = func (payload map [string ]interface {}, userContext supertokens.UserContext ) bool {
52- value := emailVerificationClaim .GetValueFromPayload (payload , userContext )
53- return value == nil || (value == false && * emailVerificationClaim .GetLastRefetchTime (payload , userContext ) < time .Now ().UnixMilli ()- * refetchTimeOnFalseInSeconds * 1000 )
49+ value := evClaim .GetValueFromPayload (payload , userContext )
50+ return value == nil || (value == false && * evClaim .GetLastRefetchTime (payload , userContext ) < time .Now ().UnixMilli ()- * refetchTimeOnFalseInSeconds * 1000 )
5451 }
5552 return claimValidator
5653 },
5754 }
58- return emailVerificationClaim
55+ return evClaim , validators
5956}
6057
6158func init () {
62- evclaims .EmailVerificationClaim = NewEmailVerificationClaim ()
59+ // this function is called automatically when the package is imported
60+ evclaims .EmailVerificationClaim , evclaims .EmailVerificationClaimValidators = NewEmailVerificationClaim ()
6361}
0 commit comments