Skip to content
Snippets Groups Projects
Verified Commit 770fae36 authored by Ernesto Rico Schmidt's avatar Ernesto Rico Schmidt
Browse files

feat: expose permissions

parent 0a4e6eb0
No related branches found
No related tags found
1 merge request!29Use docker main tag
...@@ -103,15 +103,19 @@ class ProfileSerializer(serializers.ModelSerializer): ...@@ -103,15 +103,19 @@ class ProfileSerializer(serializers.ModelSerializer):
class UserSerializer(serializers.ModelSerializer): class UserSerializer(serializers.ModelSerializer):
permissions = serializers.SerializerMethodField()
# Add profile fields to JSON # Add profile fields to JSON
profile = ProfileSerializer(required=False) profile = ProfileSerializer(required=False)
class Meta: class Meta:
model = User model = User
read_only_fields = (
"id",
"permissions",
)
fields = ( fields = (
"email", "email",
"first_name", "first_name",
"id",
"is_active", "is_active",
"is_staff", "is_staff",
"is_superuser", "is_superuser",
...@@ -119,6 +123,12 @@ class UserSerializer(serializers.ModelSerializer): ...@@ -119,6 +123,12 @@ class UserSerializer(serializers.ModelSerializer):
"password", "password",
"profile", "profile",
"username", "username",
) + read_only_fields
@staticmethod
def get_permissions(obj: User) -> list[str]:
return sorted(
[p.split(".")[1] for p in obj.get_all_permissions() if p.startswith("program")]
) )
def create(self, validated_data): def create(self, validated_data):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment