Skip to content

Commit f7cee34

Browse files
Add pageStart extension to case management pagination (#3343)
1 parent df7f6a0 commit f7cee34

File tree

15 files changed

+70
-6
lines changed

15 files changed

+70
-6
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75976,6 +75976,7 @@ paths:
7597675976
x-pagination:
7597775977
limitParam: page[size]
7597875978
pageParam: page[number]
75979+
pageStart: 1
7597975980
resultsPath: data
7598075981
post:
7598175982
description: Create a Case

.generator/src/generator/templates/api.j2

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ class {{ classname }}:
219219
{%- endif %}
220220
{%- if pagination.pageParam %}
221221
"page_param": "{{ pagination.pageParam|attribute_path }}",
222+
"page_start": {{ pagination.pageStart|default(0) }},
222223
{%- endif %}
223224
"endpoint": endpoint,
224225
"kwargs": kwargs,

.generator/src/generator/templates/api_client.j2

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -343,10 +343,11 @@ class ApiClient:
343343
check_type: Optional[bool] = None,
344344
):
345345
if "page_param" in pagination:
346+
page_start = pagination.get("page_start", 0)
346347
set_attribute_from_path(
347348
pagination["kwargs"],
348349
pagination["page_param"],
349-
0,
350+
page_start,
350351
pagination["endpoint"].params_map,
351352
)
352353
params = pagination["endpoint"].gather_params(pagination["kwargs"])
@@ -385,10 +386,11 @@ class ApiClient:
385386
pagination["endpoint"].params_map,
386387
)
387388
elif "page_param" in pagination:
389+
page_start = pagination.get("page_start", 0)
388390
set_attribute_from_path(
389391
pagination["kwargs"],
390392
pagination["page_param"],
391-
get_attribute_from_path(pagination["kwargs"], pagination["page_param"], 0) + 1,
393+
get_attribute_from_path(pagination["kwargs"], pagination["page_param"], page_start) + 1,
392394
pagination["endpoint"].params_map,
393395
)
394396
else:

examples/v2/case-management/SearchCases_3433960044.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
configuration = Configuration()
99
with ApiClient(configuration) as api_client:
1010
api_instance = CaseManagementApi(api_client)
11-
items = api_instance.search_cases_with_pagination()
11+
items = api_instance.search_cases_with_pagination(
12+
page_size=2,
13+
filter="status:closed",
14+
)
1215
for item in items:
1316
print(item)

src/datadog_api_client/api_client.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -351,10 +351,11 @@ def call_api_paginated(
351351
check_type: Optional[bool] = None,
352352
):
353353
if "page_param" in pagination:
354+
page_start = pagination.get("page_start", 0)
354355
set_attribute_from_path(
355356
pagination["kwargs"],
356357
pagination["page_param"],
357-
0,
358+
page_start,
358359
pagination["endpoint"].params_map,
359360
)
360361
params = pagination["endpoint"].gather_params(pagination["kwargs"])
@@ -393,10 +394,11 @@ def _update_paginated_params(self, pagination, response):
393394
pagination["endpoint"].params_map,
394395
)
395396
elif "page_param" in pagination:
397+
page_start = pagination.get("page_start", 0)
396398
set_attribute_from_path(
397399
pagination["kwargs"],
398400
pagination["page_param"],
399-
get_attribute_from_path(pagination["kwargs"], pagination["page_param"], 0) + 1,
401+
get_attribute_from_path(pagination["kwargs"], pagination["page_param"], page_start) + 1,
400402
pagination["endpoint"].params_map,
401403
)
402404
else:

src/datadog_api_client/v1/api/monitors_api.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -822,6 +822,7 @@ def list_monitors_with_pagination(
822822
pagination = {
823823
"limit_value": local_page_size,
824824
"page_param": "page",
825+
"page_start": 0,
825826
"endpoint": endpoint,
826827
"kwargs": kwargs,
827828
}

src/datadog_api_client/v1/api/synthetics_api.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1405,6 +1405,7 @@ def list_tests_with_pagination(
14051405
"limit_value": local_page_size,
14061406
"results_path": "tests",
14071407
"page_param": "page_number",
1408+
"page_start": 0,
14081409
"endpoint": endpoint,
14091410
"kwargs": kwargs,
14101411
}

src/datadog_api_client/v2/api/case_management_api.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1380,6 +1380,7 @@ def search_cases_with_pagination(
13801380
"limit_value": local_page_size,
13811381
"results_path": "data",
13821382
"page_param": "page_number",
1383+
"page_start": 1,
13831384
"endpoint": endpoint,
13841385
"kwargs": kwargs,
13851386
}

src/datadog_api_client/v2/api/network_device_monitoring_api.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,7 @@ def list_devices_with_pagination(
340340
"limit_value": local_page_size,
341341
"results_path": "data",
342342
"page_param": "page_number",
343+
"page_start": 0,
343344
"endpoint": endpoint,
344345
"kwargs": kwargs,
345346
}

src/datadog_api_client/v2/api/service_definition_api.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@ def list_service_definitions_with_pagination(
268268
"limit_value": local_page_size,
269269
"results_path": "data",
270270
"page_param": "page_number",
271+
"page_start": 0,
271272
"endpoint": endpoint,
272273
"kwargs": kwargs,
273274
}

0 commit comments

Comments
 (0)