29 lines
1.2 KiB
Python
29 lines
1.2 KiB
Python
from rest_framework import generics
|
|
from rest_framework.response import Response
|
|
|
|
from core.apps.accounts.serializers import permission as serializers
|
|
from core.apps.accounts.models.permission import Permission, PermissionToAction, PermissionToTab
|
|
from core.apps.accounts.permissions.permissions import HasRolePermission
|
|
|
|
|
|
class PermissionListApiView(generics.ListAPIView):
|
|
serializer_class = serializers.PermissionListSerializer
|
|
queryset = None
|
|
permission_classes = [HasRolePermission]
|
|
|
|
def get(self, request):
|
|
permissions = Permission.objects.all()
|
|
permission_to_tabs = PermissionToTab.objects.all()
|
|
permission_to_actions = PermissionToAction.objects.all()
|
|
serializer = self.serializer_class(permissions, many=True)
|
|
tab_permissions = serializers.PermissionToTabListSerializer(permission_to_tabs, many=True)
|
|
action_permissions = serializers.PermissionToActionListSerializer(permission_to_actions, many=True)
|
|
return Response(
|
|
{
|
|
'success': True,
|
|
'permissions': serializer.data,
|
|
'tab_permissions': tab_permissions.data,
|
|
'action_permissions': action_permissions.data
|
|
},
|
|
status=200
|
|
) |