From ff44243721367cf72d6a0611d07ad080fc647809 Mon Sep 17 00:00:00 2001 From: Tim de Beer Date: Thu, 15 Jan 2026 14:28:50 +0100 Subject: [PATCH] =?UTF-8?q?=E2=AC=86=EF=B8=8F=20[maykinmedia/open-api-fram?= =?UTF-8?q?ework#197]=20upgrade=20commonground=20and=20use=20pagination?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- requirements/base.txt | 2 +- requirements/ci.txt | 2 +- requirements/dev.txt | 2 +- src/objects/api/pagination.py | 7 ------- src/objects/api/v2/openapi.yaml | 12 ++++++++---- src/objects/api/v2/views.py | 2 +- src/objects/conf/api.py | 1 + 7 files changed, 13 insertions(+), 15 deletions(-) delete mode 100644 src/objects/api/pagination.py diff --git a/requirements/base.txt b/requirements/base.txt index d59e91c7..7197517a 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -60,7 +60,7 @@ click-plugins==1.1.1 # via celery click-repl==0.3.0 # via celery -commonground-api-common==2.10.5 +commonground-api-common==2.10.7 # via # -r requirements/base.in # open-api-framework diff --git a/requirements/ci.txt b/requirements/ci.txt index 7e820611..3067844f 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -111,7 +111,7 @@ click-repl==0.3.0 # celery codecov==2.1.13 # via -r requirements/test-tools.in -commonground-api-common==2.10.5 +commonground-api-common==2.10.7 # via # -c requirements/base.txt # -r requirements/base.txt diff --git a/requirements/dev.txt b/requirements/dev.txt index e1e58411..10ccaa9a 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -139,7 +139,7 @@ codecov==2.1.13 # via # -c requirements/ci.txt # -r requirements/ci.txt -commonground-api-common==2.10.5 +commonground-api-common==2.10.7 # via # -c requirements/ci.txt # -r requirements/ci.txt diff --git a/src/objects/api/pagination.py b/src/objects/api/pagination.py deleted file mode 100644 index 0513ba3b..00000000 --- a/src/objects/api/pagination.py +++ /dev/null @@ -1,7 +0,0 @@ -from rest_framework.pagination import PageNumberPagination - - -class DynamicPageSizePagination(PageNumberPagination): - page_size = 100 - page_size_query_param = "pageSize" - max_page_size = 500 diff --git a/src/objects/api/v2/openapi.yaml b/src/objects/api/v2/openapi.yaml index a135c907..7caaea03 100644 --- a/src/objects/api/v2/openapi.yaml +++ b/src/objects/api/v2/openapi.yaml @@ -197,7 +197,8 @@ paths: - name: pageSize required: false in: query - description: Number of results to return per page. + description: 'Het aantal resultaten terug te geven per pagina. (default: 100, + maximum: 500).' schema: type: integer - in: query @@ -609,7 +610,8 @@ paths: - name: pageSize required: false in: query - description: Number of results to return per page. + description: 'Het aantal resultaten terug te geven per pagina. (default: 100, + maximum: 500).' schema: type: integer - in: path @@ -685,7 +687,8 @@ paths: - name: pageSize required: false in: query - description: Number of results to return per page. + description: 'Het aantal resultaten terug te geven per pagina. (default: 100, + maximum: 500).' schema: type: integer tags: @@ -830,7 +833,8 @@ paths: - name: pageSize required: false in: query - description: Number of results to return per page. + description: 'Het aantal resultaten terug te geven per pagina. (default: 100, + maximum: 500).' schema: type: integer tags: diff --git a/src/objects/api/v2/views.py b/src/objects/api/v2/views.py index d89c0762..74a2a2e9 100644 --- a/src/objects/api/v2/views.py +++ b/src/objects/api/v2/views.py @@ -15,6 +15,7 @@ from rest_framework.generics import get_object_or_404 from rest_framework.response import Response from vng_api_common.filters_backend import Backend as FilterBackend +from vng_api_common.pagination import DynamicPageSizePagination from vng_api_common.search import SearchMixin from objects.core.models import ObjectRecord @@ -29,7 +30,6 @@ objects_update_counter, ) from ..mixins import GeoMixin, ObjectNotificationMixin -from ..pagination import DynamicPageSizePagination from ..serializers import ( HistoryRecordSerializer, ObjectSearchSerializer, diff --git a/src/objects/conf/api.py b/src/objects/conf/api.py index 345f440f..85516980 100644 --- a/src/objects/conf/api.py +++ b/src/objects/conf/api.py @@ -9,6 +9,7 @@ "objects.token.authentication.TokenAuthentication" ], "DEFAULT_SCHEMA_CLASS": "objects.utils.autoschema.AutoSchema", + "PAGINATION_CLASS": "vng_api_common.pagination.DynamicPageSizePagination", "DEFAULT_VERSIONING_CLASS": "rest_framework.versioning.NamespaceVersioning", "DEFAULT_VERSION": "v2", # NOT to be confused with API_VERSION - it's the major version part "ALLOWED_VERSIONS": ("v2",),