mirror of
https://code.eliotberriot.com/funkwhale/funkwhale.git
synced 2025-10-03 23:59:15 +02:00
See #212: API viewset
This commit is contained in:
parent
2e4f862387
commit
3ef5f29dd3
6 changed files with 98 additions and 4 deletions
|
@ -1,7 +1,9 @@
|
|||
from rest_framework import mixins, response, viewsets
|
||||
from rest_framework.decorators import list_route
|
||||
|
||||
from funkwhale_api.common import preferences
|
||||
from funkwhale_api.music import models as music_models
|
||||
from funkwhale_api.users import models as users_models
|
||||
from funkwhale_api.users.permissions import HasUserPermission
|
||||
|
||||
from . import filters, serializers
|
||||
|
@ -41,3 +43,22 @@ class ManageTrackFileViewSet(
|
|||
serializer.is_valid(raise_exception=True)
|
||||
result = serializer.save()
|
||||
return response.Response(result, status=200)
|
||||
|
||||
|
||||
class ManageUserViewSet(
|
||||
mixins.ListModelMixin,
|
||||
mixins.RetrieveModelMixin,
|
||||
mixins.UpdateModelMixin,
|
||||
viewsets.GenericViewSet,
|
||||
):
|
||||
queryset = users_models.User.objects.all().order_by("-id")
|
||||
serializer_class = serializers.ManageUserSerializer
|
||||
filter_class = filters.ManageUserFilterSet
|
||||
permission_classes = (HasUserPermission,)
|
||||
required_permissions = ["settings"]
|
||||
ordering_fields = ["date_joined", "last_activity", "username"]
|
||||
|
||||
def get_serializer_context(self):
|
||||
context = super().get_serializer_context()
|
||||
context["default_permissions"] = preferences.get("users__default_permissions")
|
||||
return context
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue