From 31a3d01bc1003a32b81172382927afad711b86ee Mon Sep 17 00:00:00 2001 From: Geoff Thomas Date: Tue, 31 Dec 2024 14:34:27 +0000 Subject: [PATCH 1/2] Allow the page size for scripts to be larger --- scripts/viewsets.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/scripts/viewsets.py b/scripts/viewsets.py index a1c5539..5937ea8 100644 --- a/scripts/viewsets.py +++ b/scripts/viewsets.py @@ -1,12 +1,19 @@ -from rest_framework import filters, viewsets +from rest_framework import filters, viewsets, status from rest_framework.request import Request from rest_framework.response import Response from rest_framework.decorators import action -from rest_framework import status +from rest_framework.pagination import PageNumberPagination from rest_framework.schemas.openapi import AutoSchema from scripts import models, serializers from scripts import filters as filtersets from django_filters.rest_framework import DjangoFilterBackend +import os + + +class ScriptPagination(PageNumberPagination): + page_size = os.environ.get("SCRIPTS_API_DEFAULT_PAGE_SIZE", 100) + page_size_query_param = "page_size" + max_page_size = os.environ.get("SCRIPTS_API_MAX_PAGE_SIZE", 200) class ScriptViewSet(viewsets.ReadOnlyModelViewSet): @@ -14,6 +21,7 @@ class ScriptViewSet(viewsets.ReadOnlyModelViewSet): serializer_class = serializers.ScriptSerializer filter_backends = [filters.OrderingFilter, DjangoFilterBackend] filterset_class = filtersets.ScriptVersionFilter + pagination_class = ScriptPagination ordering_fields = ["pk", "score"] ordering = ["-pk"] From 6915dddaadc8dd399d9cea2b67f4ff87e08ef4e0 Mon Sep 17 00:00:00 2001 From: Geoff Thomas Date: Tue, 31 Dec 2024 14:50:40 +0000 Subject: [PATCH 2/2] Set the default back to 10 --- scripts/viewsets.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/viewsets.py b/scripts/viewsets.py index 5937ea8..0aec88d 100644 --- a/scripts/viewsets.py +++ b/scripts/viewsets.py @@ -11,7 +11,7 @@ class ScriptPagination(PageNumberPagination): - page_size = os.environ.get("SCRIPTS_API_DEFAULT_PAGE_SIZE", 100) + page_size = os.environ.get("SCRIPTS_API_DEFAULT_PAGE_SIZE", 10) page_size_query_param = "page_size" max_page_size = os.environ.get("SCRIPTS_API_MAX_PAGE_SIZE", 200)