src/notes/api/views/auth.py
author ymh <ymh.work@gmail.com>
Tue, 18 Jul 2017 17:08:27 +0200
changeset 117 9864fe2067cd
parent 101 e165aa89ac82
child 130 78246db1cbac
permissions -rw-r--r--
Add api endpoints for group management

import logging

from django.contrib.auth.models import Group
from rest_framework import viewsets

from ..serializers.auth import (GroupSerializer, WriteGroupSerializer, DetailGroupSerializer)
from ..permissions.auth import (GroupPermission, )

logger = logging.getLogger(__name__)


class GroupViewSet(viewsets.ModelViewSet):
    serializer_class = GroupSerializer
    permission_classes = (GroupPermission, )
    lookup_field = 'name'

    def get_queryset(self):
        return Group.objects.all()

    serializers = {
        'create': WriteGroupSerializer,
        'update': WriteGroupSerializer,
        'retrieve': DetailGroupSerializer,
    }

    def get_serializer_class(self):
        return self.serializers.get(self.action, GroupSerializer)