core: add settings serializer to user/me and update_self endpoints, saved in a key in attributes
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
This commit is contained in:
		@ -22,7 +22,7 @@ from drf_spectacular.utils import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
from guardian.shortcuts import get_anonymous_user, get_objects_for_user
 | 
					from guardian.shortcuts import get_anonymous_user, get_objects_for_user
 | 
				
			||||||
from rest_framework.decorators import action
 | 
					from rest_framework.decorators import action
 | 
				
			||||||
from rest_framework.fields import CharField, JSONField, SerializerMethodField
 | 
					from rest_framework.fields import CharField, DictField, JSONField, SerializerMethodField
 | 
				
			||||||
from rest_framework.permissions import IsAuthenticated
 | 
					from rest_framework.permissions import IsAuthenticated
 | 
				
			||||||
from rest_framework.request import Request
 | 
					from rest_framework.request import Request
 | 
				
			||||||
from rest_framework.response import Response
 | 
					from rest_framework.response import Response
 | 
				
			||||||
@ -103,6 +103,7 @@ class UserSelfSerializer(ModelSerializer):
 | 
				
			|||||||
    avatar = CharField(read_only=True)
 | 
					    avatar = CharField(read_only=True)
 | 
				
			||||||
    groups = SerializerMethodField()
 | 
					    groups = SerializerMethodField()
 | 
				
			||||||
    uid = CharField(read_only=True)
 | 
					    uid = CharField(read_only=True)
 | 
				
			||||||
 | 
					    settings = DictField(source="attributes.settings")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @extend_schema_field(
 | 
					    @extend_schema_field(
 | 
				
			||||||
        ListSerializer(
 | 
					        ListSerializer(
 | 
				
			||||||
@ -133,6 +134,7 @@ class UserSelfSerializer(ModelSerializer):
 | 
				
			|||||||
            "email",
 | 
					            "email",
 | 
				
			||||||
            "avatar",
 | 
					            "avatar",
 | 
				
			||||||
            "uid",
 | 
					            "uid",
 | 
				
			||||||
 | 
					            "settings",
 | 
				
			||||||
        ]
 | 
					        ]
 | 
				
			||||||
        extra_kwargs = {
 | 
					        extra_kwargs = {
 | 
				
			||||||
            "is_active": {"read_only": True},
 | 
					            "is_active": {"read_only": True},
 | 
				
			||||||
 | 
				
			|||||||
@ -29295,6 +29295,9 @@ components:
 | 
				
			|||||||
        uid:
 | 
					        uid:
 | 
				
			||||||
          type: string
 | 
					          type: string
 | 
				
			||||||
          readOnly: true
 | 
					          readOnly: true
 | 
				
			||||||
 | 
					        settings:
 | 
				
			||||||
 | 
					          type: object
 | 
				
			||||||
 | 
					          additionalProperties: {}
 | 
				
			||||||
      required:
 | 
					      required:
 | 
				
			||||||
      - avatar
 | 
					      - avatar
 | 
				
			||||||
      - groups
 | 
					      - groups
 | 
				
			||||||
@ -29302,6 +29305,7 @@ components:
 | 
				
			|||||||
      - is_superuser
 | 
					      - is_superuser
 | 
				
			||||||
      - name
 | 
					      - name
 | 
				
			||||||
      - pk
 | 
					      - pk
 | 
				
			||||||
 | 
					      - settings
 | 
				
			||||||
      - uid
 | 
					      - uid
 | 
				
			||||||
      - username
 | 
					      - username
 | 
				
			||||||
    UserSelfGroups:
 | 
					    UserSelfGroups:
 | 
				
			||||||
@ -29336,8 +29340,12 @@ components:
 | 
				
			|||||||
          format: email
 | 
					          format: email
 | 
				
			||||||
          title: Email address
 | 
					          title: Email address
 | 
				
			||||||
          maxLength: 254
 | 
					          maxLength: 254
 | 
				
			||||||
 | 
					        settings:
 | 
				
			||||||
 | 
					          type: object
 | 
				
			||||||
 | 
					          additionalProperties: {}
 | 
				
			||||||
      required:
 | 
					      required:
 | 
				
			||||||
      - name
 | 
					      - name
 | 
				
			||||||
 | 
					      - settings
 | 
				
			||||||
      - username
 | 
					      - username
 | 
				
			||||||
    UserServiceAccountRequest:
 | 
					    UserServiceAccountRequest:
 | 
				
			||||||
      type: object
 | 
					      type: object
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user