core: include group uuids in self serializer

Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
Jens Langhammer
2021-10-05 13:10:44 +02:00
parent 9301b27e43
commit 9e7e22367b
2 changed files with 26 additions and 3 deletions

View File

@ -104,10 +104,21 @@ class UserSelfSerializer(ModelSerializer):
groups = SerializerMethodField()
uid = CharField(read_only=True)
def get_groups(self, user: User) -> list[str]:
@extend_schema_field(
ListSerializer(
child=inline_serializer(
"UserSelfGroups",
{"name": CharField(read_only=True), "pk": CharField(read_only=True)},
)
)
)
def get_groups(self, user: User):
"""Return only the group names a user is member of"""
for group in user.ak_groups.all():
yield group.name
yield {
"name": group.name,
"pk": group.pk,
}
class Meta: