@@ -680,6 +680,7 @@ class SafeExportView(GenericAPIView):
680680 """
681681
682682 serializer_class = serializers .SafeExportTransactionSerializer
683+ pagination_class = pagination .ListPagination
683684
684685 def get (self , request , address ):
685686 """
@@ -705,12 +706,9 @@ def get(self, request, address):
705706 # Parse query parameters
706707 execution_date_gte = request .query_params .get ("execution_date__gte" )
707708 execution_date_lte = request .query_params .get ("execution_date__lte" )
708- limit = int (request .query_params .get ("limit" , 1000 ))
709- offset = int (request .query_params .get ("offset" , 0 ))
710-
711- # Validate limit
712- if limit > 1000 :
713- limit = 1000
709+ paginator = pagination .ListPagination (self .request , max_limit = 1000 )
710+ limit = paginator .get_limit (request )
711+ offset = paginator .get_offset (request )
714712
715713 # Parse dates if provided
716714 parsed_execution_date_gte = None
@@ -775,29 +773,9 @@ def get(self, request, address):
775773 limit = limit ,
776774 offset = offset ,
777775 )
778-
779- # Build pagination info
780- base_url = request .build_absolute_uri (request .path )
781- query_params = request .GET .copy ()
782-
783- next_url = None
784- if offset + limit < total_count :
785- query_params ["offset" ] = offset + limit
786- next_url = f"{ base_url } ?{ query_params .urlencode ()} "
787-
788- previous_url = None
789- if offset > 0 :
790- query_params ["offset" ] = max (0 , offset - limit )
791- previous_url = f"{ base_url } ?{ query_params .urlencode ()} "
776+ paginator .set_count (total_count )
792777
793778 # Serialize the data
794779 serializer = self .get_serializer (transactions , many = True )
795780
796- return Response (
797- {
798- "count" : total_count ,
799- "next" : next_url ,
800- "previous" : previous_url ,
801- "results" : serializer .data ,
802- }
803- )
781+ return paginator .get_paginated_response (serializer .data )
0 commit comments