diff --git a/apps/authorization/api/v1/api.py b/apps/authorization/api/v1/api.py index 7490e39..3fb9060 100644 --- a/apps/authorization/api/v1/api.py +++ b/apps/authorization/api/v1/api.py @@ -41,8 +41,10 @@ class PageViewSet(viewsets.ModelViewSet): def list(self, request, *args, **kwargs): """ all pages """ - serializer = self.serializer_class(self.queryset.order_by('-create_date'), many=True) - return Response(serializer.data, status=status.HTTP_200_OK) + page = self.paginate_queryset(self.queryset.order_by('-create_date')) + if page is not None: + serializer = self.get_serializer(page, many=True) + return self.get_paginated_response(serializer.data) @action( methods=['delete'], diff --git a/apps/pos_device/web/api/v1/viewsets/device.py b/apps/pos_device/web/api/v1/viewsets/device.py index 22e7773..707c9ac 100644 --- a/apps/pos_device/web/api/v1/viewsets/device.py +++ b/apps/pos_device/web/api/v1/viewsets/device.py @@ -130,6 +130,25 @@ class DeviceViewSet(viewsets.ModelViewSet, AdminFilterMixin): serializer = OrganizationSerializer(page, many=True) return self.get_paginated_response(serializer.data) + @action( + methods=['get'], + detail=True, + url_path='devices_by_psp', + url_name='devices_by_psp', + name='devices_by_psp', + ) + @transaction.atomic + def devices_by_psp(self, request, pk=None): + """ list of devices by their psp """ + + devices = self.queryset.filter(organization__id=pk).order_by('-create_date') + + # paginate devices + page = self.paginate_queryset(devices) + if page is not None: + serializer = OrganizationSerializer(page, many=True) + return self.get_paginated_response(serializer.data) + class DeviceVersionViewSet(viewsets.ModelViewSet): queryset = pos_models.DeviceVersion.objects.all()