add permission list api view

This commit is contained in:
behruz-dev
2025-08-06 16:50:09 +05:00
parent 2e9ddd5f8d
commit ce54f66a32
15 changed files with 196 additions and 9 deletions

View File

@@ -8,6 +8,8 @@ from core.apps.accounts.serializers import user as serializers
from core.apps.accounts.permissions.permissions import HasRolePermission
from core.apps.accounts.utils.permission import get_permissions_with_tabs
from core.apps.shared.paginations.custom import CustomPageNumberPagination
from core.apps.accounts.serializers.permission import PermissionListSerializer
from core.apps.accounts.models.permission import Permission
class UserProfileApiView(generics.GenericAPIView):
@@ -95,3 +97,21 @@ class UserUpdateApiView(generics.GenericAPIView):
serializer.save()
return Response({'success': True, 'message': 'updated'}, status=200)
return Response({"success": False, "message": serializer.errors}, status=400)
class UserPermissionListApiView(generics.GenericAPIView):
serializer_class = PermissionListSerializer
queryset = None
permission_classes = [HasRolePermission]
def get(self, request):
user = request.user
if not user.role:
return Response({'success': False, 'message': 'User has no role assigned'}, status=400)
serializer = self.serializer_class(user.role.permissions, many=True)
return Response(
{'success': True, 'permissions': serializer.data},
status=200
)