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 cd5e091937
commit 79eec5a3a0
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:

View file

@ -29209,7 +29209,7 @@ components:
groups:
type: array
items:
type: string
$ref: '#/components/schemas/UserSelfGroups'
readOnly: true
email:
type: string
@ -29231,6 +29231,18 @@ components:
- pk
- uid
- username
UserSelfGroups:
type: object
properties:
name:
type: string
readOnly: true
pk:
type: string
readOnly: true
required:
- name
- pk
UserSelfRequest:
type: object
description: |-