Untitled

mail@pastecode.io avatarunknown
plain_text
2 months ago
1.1 kB
5
Indexable
Never
class AIDoctorPageNumberPagination(PageNumberPagination):

    page_size = 20
    page_size_query_param = "page_size"
    max_page_size = 30

    def get_paginated_response(self, data):
        return Response(
            {
                "count": self.page.paginator.count,
                "next": self.get_next_link(),
                "previous": self.get_previous_link(),
                "page_number": self.page.number,
                "total_pages": self.page.paginator.num_pages,
                "results": data,
            }
        )

class AddressList(generics.ListAPIView):
    """
    Address list class
    """

    serializer_class = AddressSerializer
    pagination_class = AIDoctorPageNumberPagination

    def get_queryset(self):

        user = self.request.user
        addresses = Address.objects.filter(user=user, status=Address.STATUS_ACTIVE).select_related(
            "user"
        )

        return addresses

    @swagger_auto_schema(**doc.GET_ADDRESS_LIST)
    def get(self, request, *args, **kwargs):
        return super(AddressList, self).get(request, *args, **kwargs)