mirror of
https://code.eliotberriot.com/funkwhale/funkwhale.git
synced 2025-10-04 02:19:16 +02:00
See #852: improved routing logic for federation messages (support multiple objects types for one route)
This commit is contained in:
parent
1aa3f3f340
commit
9f3182caf7
19 changed files with 561 additions and 54 deletions
|
@ -7,7 +7,7 @@ from rest_framework.response import Response
|
|||
|
||||
from funkwhale_api.common import preferences
|
||||
|
||||
from . import models, serializers
|
||||
from . import models, serializers, tasks
|
||||
|
||||
|
||||
class RegisterView(registration_views.RegisterView):
|
||||
|
@ -50,9 +50,17 @@ class UserViewSet(mixins.UpdateModelMixin, viewsets.GenericViewSet):
|
|||
lookup_value_regex = r"[a-zA-Z0-9-_.]+"
|
||||
required_scope = "profile"
|
||||
|
||||
@action(methods=["get"], detail=False)
|
||||
@action(methods=["get", "delete"], detail=False)
|
||||
def me(self, request, *args, **kwargs):
|
||||
"""Return information about the current user"""
|
||||
"""Return information about the current user or delete it"""
|
||||
if request.method.lower() == "delete":
|
||||
serializer = serializers.UserDeleteSerializer(
|
||||
request.user, data=request.data
|
||||
)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
tasks.delete_account.delay(user_id=request.user.pk)
|
||||
# at this point, password is valid, we launch deletion
|
||||
return Response(status=204)
|
||||
serializer = serializers.MeSerializer(request.user)
|
||||
return Response(serializer.data)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue