Skip to content

Commit ff8f9db

Browse files
committed
chore(passport): add user organizations
1 parent 63974ec commit ff8f9db

3 files changed

Lines changed: 14 additions & 2 deletions

File tree

rootfs/api/models.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@
88
class User(AbstractUser):
99
email = models.EmailField(_('email address'), unique=True)
1010

11+
@property
12+
def organizations(self) -> list[str]:
13+
results = []
14+
if self.is_superuser:
15+
results.append("admin")
16+
if self.is_staff:
17+
results.append("staff")
18+
if self.is_active:
19+
results.append(self.username)
20+
return results
21+
1122

1223
class Application(AbstractApplication):
1324

rootfs/api/oauth2_validators.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ def get_additional_claims(self, request):
1616
claims["is_staff"] = request.user.is_staff
1717
claims["is_active"] = request.user.is_active
1818
claims["is_superuser"] = request.user.is_superuser
19+
claims["organizations"] = request.user.organizations
1920
return claims

rootfs/api/serializers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ class UserSerializer(serializers.ModelSerializer):
1818
class Meta:
1919
model = User
2020
fields = ('id', 'username', 'email', 'first_name', 'last_name',
21-
'is_staff', 'is_active', 'is_superuser')
21+
'is_staff', 'is_active', 'is_superuser', "organizations")
2222
read_only_fields = ('id', 'username', 'is_staff', 'is_active',
23-
'is_superuser')
23+
'is_superuser', "organizations")
2424

2525

2626
class UserEmailSerializer(serializers.ModelSerializer):

0 commit comments

Comments
 (0)