diff --git a/accounts/api.py b/accounts/api.py index 8dd98d9..0d600fd 100644 --- a/accounts/api.py +++ b/accounts/api.py @@ -9,12 +9,13 @@ OpenApiTypes, extend_schema, ) -from rest_framework.pagination import PageNumberPagination + from rest_framework.request import Request from rest_framework.response import Response from rest_framework.views import APIView from api.pagination import pagination_parameters +from api.pagination import CustomSizePageNumberPagination from base.logging import logger from donations.models import Donation from donations.serializers import ( @@ -44,7 +45,7 @@ ) -class DonorsAPI(APIView, PageNumberPagination): +class DonorsAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ @@ -89,7 +90,7 @@ def get(self, request: Request, *args, **kwargs): return self.get_paginated_response(serializer.data) -class AccountsListAPI(APIView, PageNumberPagination): +class AccountsListAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ @@ -157,7 +158,7 @@ def get(self, request: Request, *args, **kwargs): return Response(serializer.data) -class AccountActivePotsAPI(APIView, PageNumberPagination): +class AccountActivePotsAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ @@ -214,7 +215,7 @@ def get(self, request: Request, *args, **kwargs): return self.get_paginated_response(serializer.data) -class AccountPotApplicationsAPI(APIView, PageNumberPagination): +class AccountPotApplicationsAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ @@ -269,7 +270,7 @@ def get(self, request: Request, *args, **kwargs): return self.get_paginated_response(serializer.data) -class AccountDonationsReceivedAPI(APIView, PageNumberPagination): +class AccountDonationsReceivedAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ @@ -310,7 +311,7 @@ def get(self, request: Request, *args, **kwargs): return self.get_paginated_response(serializer.data) -class AccountDonationsSentAPI(APIView, PageNumberPagination): +class AccountDonationsSentAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ @@ -351,7 +352,7 @@ def get(self, request: Request, *args, **kwargs): return self.get_paginated_response(serializer.data) -class AccountPayoutsReceivedAPI(APIView, PageNumberPagination): +class AccountPayoutsReceivedAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ diff --git a/api/pagination.py b/api/pagination.py index b949b6b..95e6edb 100644 --- a/api/pagination.py +++ b/api/pagination.py @@ -1,5 +1,12 @@ from drf_spectacular.types import OpenApiTypes from drf_spectacular.utils import OpenApiParameter +from rest_framework.pagination import PageNumberPagination + + + +# ovveeride PageNumberPagination to add page_size_query_param alias +class CustomSizePageNumberPagination(PageNumberPagination): + page_size_query_param = 'page_size' pagination_parameters = [ OpenApiParameter( diff --git a/donations/api.py b/donations/api.py index 0e8f522..3f89cbd 100644 --- a/donations/api.py +++ b/donations/api.py @@ -8,12 +8,13 @@ OpenApiResponse, extend_schema, ) -from rest_framework.pagination import PageNumberPagination + from rest_framework.request import Request from rest_framework.response import Response from rest_framework.views import APIView from api.pagination import pagination_parameters +from api.pagination import CustomSizePageNumberPagination from base.logging import logger from .serializers import DonationContractConfigSerializer @@ -21,7 +22,7 @@ DONATE_CONTRACT = "donate." + settings.POTLOCK_TLA -class DonationContractConfigAPI(APIView, PageNumberPagination): +class DonationContractConfigAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ diff --git a/lists/api.py b/lists/api.py index 6b0d6cb..be366df 100644 --- a/lists/api.py +++ b/lists/api.py @@ -10,12 +10,12 @@ OpenApiResponse, extend_schema, ) -from rest_framework.pagination import PageNumberPagination from rest_framework.request import Request from rest_framework.response import Response from rest_framework.views import APIView from api.pagination import pagination_parameters +from api.pagination import CustomSizePageNumberPagination from .models import List, ListRegistrationStatus from .serializers import ( @@ -30,7 +30,7 @@ ) -class ListsListAPI(APIView, PageNumberPagination): +class ListsListAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ @@ -98,7 +98,7 @@ def get(self, request: Request, *args, **kwargs): return Response(serializer.data) -class ListRegistrationsAPI(APIView, PageNumberPagination): +class ListRegistrationsAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ diff --git a/pots/api.py b/pots/api.py index 8ee267b..4a3a474 100644 --- a/pots/api.py +++ b/pots/api.py @@ -8,7 +8,6 @@ OpenApiResponse, extend_schema, ) -from rest_framework.pagination import PageNumberPagination from rest_framework.request import Request from rest_framework.response import Response from rest_framework.views import APIView @@ -20,6 +19,7 @@ PaginatedAccountsResponseSerializer, ) from api.pagination import pagination_parameters +from api.pagination import CustomSizePageNumberPagination from donations.models import Donation from donations.serializers import ( PAGINATED_DONATION_EXAMPLE, @@ -45,7 +45,7 @@ ) -class PotsListAPI(APIView, PageNumberPagination): +class PotsListAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ @@ -75,7 +75,7 @@ def get(self, request: Request, *args, **kwargs): return self.get_paginated_response(serializer.data) -class PotFactoriesAPI(APIView, PageNumberPagination): +class PotFactoriesAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ @@ -139,7 +139,7 @@ def get(self, request: Request, *args, **kwargs): return Response(serializer.data) -class PotApplicationsAPI(APIView, PageNumberPagination): +class PotApplicationsAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ @@ -177,7 +177,7 @@ def get(self, request: Request, *args, **kwargs): return self.get_paginated_response(serializer.data) -class PotDonationsAPI(APIView, PageNumberPagination): +class PotDonationsAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ @@ -215,7 +215,7 @@ def get(self, request: Request, *args, **kwargs): return self.get_paginated_response(serializer.data) -class PotSponsorsAPI(APIView, PageNumberPagination): +class PotSponsorsAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[ @@ -258,7 +258,7 @@ def get(self, request: Request, *args, **kwargs): return self.get_paginated_response(serializer.data) -class PotPayoutsAPI(APIView, PageNumberPagination): +class PotPayoutsAPI(APIView, CustomSizePageNumberPagination): @extend_schema( parameters=[