22 lines
762 B
Python
22 lines
762 B
Python
![]() |
from rest_framework import viewsets, mixins
|
||
|
from rest_framework.settings import api_settings
|
||
|
from users.serializers import TGUserSerializer
|
||
|
from users.models import TGUser
|
||
|
from users.permissions import IsAdminOrIsSelf
|
||
|
|
||
|
|
||
|
class TGUserViewSet(
|
||
|
mixins.RetrieveModelMixin,
|
||
|
mixins.UpdateModelMixin,
|
||
|
mixins.DestroyModelMixin,
|
||
|
viewsets.GenericViewSet
|
||
|
):
|
||
|
serializer_class = TGUserSerializer
|
||
|
queryset = TGUser.objects.all()
|
||
|
|
||
|
def get_permissions(self):
|
||
|
if self.action in ('update', 'partial_update', 'destroy'):
|
||
|
permissions = [*api_settings.DEFAULT_PERMISSION_CLASSES, IsAdminOrIsSelf]
|
||
|
else:
|
||
|
permissions = api_settings.DEFAULT_PERMISSION_CLASSES
|
||
|
return [permission() for permission in permissions]
|