Skip to content

Commit c76c1ba

Browse files
committed
fix: updated userroles claims changes
1 parent 714cb61 commit c76c1ba

File tree

4 files changed

+35
-47
lines changed

4 files changed

+35
-47
lines changed

recipe/userroles/claims.go

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,17 @@ package userroles
22

33
import (
44
"github.com/supertokens/supertokens-golang/recipe/session/claims"
5-
urclaims "github.com/supertokens/supertokens-golang/recipe/userroles/claims"
5+
"github.com/supertokens/supertokens-golang/recipe/userroles/userrolesclaims"
66
"github.com/supertokens/supertokens-golang/supertokens"
77
)
88

99
func init() {
10-
urclaims.UserRoleClaim = NewUserRoleClaim()
11-
urclaims.PermissionClaim = NewPermissionClaim()
10+
// automatically called when this package is imported
11+
userrolesclaims.UserRoleClaim, userrolesclaims.UserRoleClaimValidators = NewUserRoleClaim()
12+
userrolesclaims.PermissionClaim, userrolesclaims.PermissionClaimValidators = NewPermissionClaim()
1213
}
1314

14-
func NewUserRoleClaim() *urclaims.TypeUserRoleClaim {
15+
func NewUserRoleClaim() (claims.TypeSessionClaim, userrolesclaims.TypeUserRoleClaimValidators) {
1516
fetchValue := func(userId string, userContext supertokens.UserContext) (interface{}, error) {
1617
recipe, err := getRecipeInstanceOrThrowError()
1718
if err != nil {
@@ -29,16 +30,13 @@ func NewUserRoleClaim() *urclaims.TypeUserRoleClaim {
2930
return rolesArray, nil
3031
}
3132

32-
primitiveArrayClaim := claims.PrimitiveArrayClaim("st-role", fetchValue, nil)
33-
return &urclaims.TypeUserRoleClaim{
34-
TypePrimitiveArrayClaim: primitiveArrayClaim,
35-
Validators: &urclaims.TypeUserRoleClaimValidators{
36-
PrimitiveArrayClaimValidators: primitiveArrayClaim.Validators,
37-
},
33+
userRoleClaim, primitiveArrayClaimValidators := claims.PrimitiveArrayClaim("st-role", fetchValue, nil)
34+
return userRoleClaim, userrolesclaims.TypeUserRoleClaimValidators{
35+
PrimitiveArrayClaimValidators: primitiveArrayClaimValidators,
3836
}
3937
}
4038

41-
func NewPermissionClaim() *urclaims.TypePermissionClaim {
39+
func NewPermissionClaim() (claims.TypeSessionClaim, userrolesclaims.TypePermissionClaimValidators) {
4240
fetchValue := func(userId string, userContext supertokens.UserContext) (interface{}, error) {
4341
recipe, err := getRecipeInstanceOrThrowError()
4442
if err != nil {
@@ -69,11 +67,8 @@ func NewPermissionClaim() *urclaims.TypePermissionClaim {
6967
return result, nil
7068
}
7169

72-
primitiveArrayClaim := claims.PrimitiveArrayClaim("st-perm", fetchValue, nil)
73-
return &urclaims.TypePermissionClaim{
74-
TypePrimitiveArrayClaim: primitiveArrayClaim,
75-
Validators: &urclaims.TypePermissionClaimValidators{
76-
PrimitiveArrayClaimValidators: primitiveArrayClaim.Validators,
77-
},
70+
permissionClaim, primitiveArrayClaimValidators := claims.PrimitiveArrayClaim("st-perm", fetchValue, nil)
71+
return permissionClaim, userrolesclaims.TypePermissionClaimValidators{
72+
PrimitiveArrayClaimValidators: primitiveArrayClaimValidators,
7873
}
7974
}

recipe/userroles/claims/claims.go

Lines changed: 0 additions & 25 deletions
This file was deleted.

recipe/userroles/recipe.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020
"net/http"
2121

2222
"github.com/supertokens/supertokens-golang/recipe/session"
23-
"github.com/supertokens/supertokens-golang/recipe/userroles/claims"
23+
"github.com/supertokens/supertokens-golang/recipe/userroles/userrolesclaims"
2424
"github.com/supertokens/supertokens-golang/recipe/userroles/userrolesmodels"
2525
"github.com/supertokens/supertokens-golang/supertokens"
2626
)
@@ -69,19 +69,20 @@ func recipeInit(config *userrolesmodels.TypeInput) supertokens.Recipe {
6969
}
7070
singletonInstance = &recipe
7171

72-
supertokens.AddPostInitCallback(func() {
72+
supertokens.AddPostInitCallback(func() error {
7373
sessionRecipe, err := session.GetRecipeInstanceOrThrowError()
7474
if err != nil {
75-
return
75+
return err
7676
}
7777

7878
if !config.SkipAddingRolesToAccessToken {
79-
sessionRecipe.AddClaimFromOtherRecipe(claims.UserRoleClaim.TypeSessionClaim)
79+
sessionRecipe.AddClaimFromOtherRecipe(userrolesclaims.UserRoleClaim)
8080
}
8181

8282
if !config.SkipAddingPermissionsToAccessToken {
83-
sessionRecipe.AddClaimFromOtherRecipe(claims.PermissionClaim.TypeSessionClaim)
83+
sessionRecipe.AddClaimFromOtherRecipe(userrolesclaims.PermissionClaim)
8484
}
85+
return nil
8586
})
8687

8788
return &singletonInstance.RecipeModule, nil
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package userrolesclaims
2+
3+
import "github.com/supertokens/supertokens-golang/recipe/session/claims"
4+
5+
type TypeUserRoleClaimValidators struct {
6+
claims.PrimitiveArrayClaimValidators
7+
}
8+
9+
var UserRoleClaim claims.TypeSessionClaim
10+
var UserRoleClaimValidators TypeUserRoleClaimValidators
11+
12+
type TypePermissionClaimValidators struct {
13+
claims.PrimitiveArrayClaimValidators
14+
}
15+
16+
var PermissionClaim claims.TypeSessionClaim
17+
var PermissionClaimValidators TypePermissionClaimValidators

0 commit comments

Comments
 (0)