20 lines
589 B
Python
20 lines
589 B
Python
from rest_framework import viewsets
|
|
|
|
from apps.rbac.models import Role
|
|
from apps.rbac.permissions import ActionPermission
|
|
from apps.rbac.serializers import RoleSerializer
|
|
|
|
|
|
class RoleViewSet(viewsets.ModelViewSet):
|
|
queryset = Role.objects.prefetch_related("permissions").all()
|
|
serializer_class = RoleSerializer
|
|
permission_classes = [ActionPermission]
|
|
code_map = {
|
|
"list": "role.view",
|
|
"retrieve": "role.view",
|
|
"create": "role.manage",
|
|
"update": "role.manage",
|
|
"partial_update": "role.manage",
|
|
"destroy": "role.manage",
|
|
}
|