mirror of
https://github.com/brygphilomena/pyhuntress.git
synced 2025-12-21 05:47:29 +00:00
made pagination work
This commit is contained in:
parent
146431e818
commit
e2bb030b71
@ -37,16 +37,16 @@ class HuntressClient(ABC):
|
|||||||
def _get_url(self) -> str:
|
def _get_url(self) -> str:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def _make_request(
|
def _make_request( # noqa: C901
|
||||||
self,
|
self,
|
||||||
method: RequestMethod,
|
method: RequestMethod,
|
||||||
url: str,
|
url: str,
|
||||||
data: RequestData | None = None,
|
data: RequestData | None = None,
|
||||||
rawdata: RequestData | None = None,
|
# rawdata: RequestData | None = None,
|
||||||
params: RequestParams | None = None,
|
params: RequestParams | None = None,
|
||||||
headers: dict[str, str] | None = None,
|
headers: dict[str, str] | None = None,
|
||||||
retry_count: int = 0,
|
retry_count: int = 0,
|
||||||
stream: bool = False,
|
stream: bool = False, # noqa: FBT001, FBT002
|
||||||
) -> Response:
|
) -> Response:
|
||||||
"""
|
"""
|
||||||
Make an API request using the specified method, endpoint, data, and parameters.
|
Make an API request using the specified method, endpoint, data, and parameters.
|
||||||
@ -76,19 +76,19 @@ class HuntressClient(ABC):
|
|||||||
method,
|
method,
|
||||||
url,
|
url,
|
||||||
headers=headers,
|
headers=headers,
|
||||||
json=data,
|
data=data,
|
||||||
params=cast(dict[str, Any], params or {}),
|
|
||||||
stream=stream,
|
|
||||||
)
|
|
||||||
elif rawdata:
|
|
||||||
response = requests.request(
|
|
||||||
method,
|
|
||||||
url,
|
|
||||||
headers=headers,
|
|
||||||
data=rawdata,
|
|
||||||
params=cast(dict[str, Any], params or {}),
|
params=cast(dict[str, Any], params or {}),
|
||||||
stream=stream,
|
stream=stream,
|
||||||
)
|
)
|
||||||
|
# elif rawdata:
|
||||||
|
# response = requests.request(
|
||||||
|
# method,
|
||||||
|
# url,
|
||||||
|
# headers=headers,
|
||||||
|
# data=rawdata,
|
||||||
|
# params=cast(dict[str, Any], params or {}),
|
||||||
|
# stream=stream,
|
||||||
|
# )
|
||||||
else:
|
else:
|
||||||
response = requests.request(
|
response = requests.request(
|
||||||
method,
|
method,
|
||||||
|
|||||||
@ -135,7 +135,7 @@ class HuntressSATAPIClient(HuntressClient):
|
|||||||
auth_response = self._make_request(
|
auth_response = self._make_request(
|
||||||
"POST",
|
"POST",
|
||||||
token_url,
|
token_url,
|
||||||
rawdata={
|
data={
|
||||||
"grant_type": "client_credentials",
|
"grant_type": "client_credentials",
|
||||||
"client_id": self.client_id,
|
"client_id": self.client_id,
|
||||||
"client_secret": self.client_secret,
|
"client_secret": self.client_secret,
|
||||||
|
|||||||
@ -52,10 +52,10 @@ class AccountsEndpoint(
|
|||||||
PaginatedResponse[SATData]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATData]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATAccounts,
|
SATAccounts,
|
||||||
|
|||||||
@ -38,10 +38,10 @@ class AccountsIdAssignmentsEndpoint(
|
|||||||
PaginatedResponse[SATAssignments]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATAssignments]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATAssignments,
|
SATAssignments,
|
||||||
|
|||||||
@ -38,10 +38,10 @@ class AccountsIdUsersEndpoint(
|
|||||||
PaginatedResponse[SATUsers]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATUsers]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATUsers,
|
SATUsers,
|
||||||
|
|||||||
@ -52,10 +52,10 @@ class AssignmentsEndpoint(
|
|||||||
PaginatedResponse[SATData]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATData]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATAssignments,
|
SATAssignments,
|
||||||
|
|||||||
@ -49,10 +49,10 @@ class AssignmentsIdEndpoint(
|
|||||||
PaginatedResponse[SATAssignments]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATAssignments]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATAssignments,
|
SATAssignments,
|
||||||
|
|||||||
@ -38,10 +38,10 @@ class AssignmentsIdLearnerActivityEndpoint(
|
|||||||
PaginatedResponse[SATLearnerActivities]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATLearnerActivities]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATLearnerActivities,
|
SATLearnerActivities,
|
||||||
|
|||||||
@ -38,10 +38,10 @@ class AssignmentsIdLearnersEndpoint(
|
|||||||
PaginatedResponse[SATLearners]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATLearners]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATLearners,
|
SATLearners,
|
||||||
|
|||||||
@ -52,10 +52,10 @@ class DepartmentsEndpoint(
|
|||||||
PaginatedResponse[SATDepartments]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATDepartments]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATDepartments,
|
SATDepartments,
|
||||||
|
|||||||
@ -38,10 +38,10 @@ class DepartmentsIdEndpoint(
|
|||||||
PaginatedResponse[SATDepartments]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATDepartments]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATDepartments,
|
SATDepartments,
|
||||||
|
|||||||
@ -52,10 +52,10 @@ class EpisodesEndpoint(
|
|||||||
PaginatedResponse[SATData]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATData]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATEpisodes,
|
SATEpisodes,
|
||||||
|
|||||||
@ -38,10 +38,10 @@ class EpisodesIdEndpoint(
|
|||||||
PaginatedResponse[SATEpisodes]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATEpisodes]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATEpisodes,
|
SATEpisodes,
|
||||||
|
|||||||
@ -52,10 +52,10 @@ class GroupsEndpoint(
|
|||||||
PaginatedResponse[SATGroups]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATGroups]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATGroups,
|
SATGroups,
|
||||||
|
|||||||
@ -38,10 +38,10 @@ class GroupsIdEndpoint(
|
|||||||
PaginatedResponse[SATGroups]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATGroups]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATGroups,
|
SATGroups,
|
||||||
|
|||||||
@ -52,10 +52,10 @@ class LearnersEndpoint(
|
|||||||
PaginatedResponse[SATLearners]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATLearners]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATLearners,
|
SATLearners,
|
||||||
|
|||||||
@ -38,10 +38,10 @@ class LearnersIdEndpoint(
|
|||||||
PaginatedResponse[SATLearners]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATLearners]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATLearners,
|
SATLearners,
|
||||||
|
|||||||
@ -52,10 +52,10 @@ class PhishingCampaignScenariosEndpoint(
|
|||||||
PaginatedResponse[SATData]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATData]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATPhishingScenarios,
|
SATPhishingScenarios,
|
||||||
|
|||||||
@ -45,10 +45,10 @@ class PhishingCampaignScenariosIdEndpoint(
|
|||||||
PaginatedResponse[SATPhishingScenarios]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATPhishingScenarios]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATPhishingScenarios,
|
SATPhishingScenarios,
|
||||||
|
|||||||
@ -52,10 +52,10 @@ class PhishingCampaignsEndpoint(
|
|||||||
PaginatedResponse[SATData]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATData]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATPhishingCampaigns,
|
SATPhishingCampaigns,
|
||||||
|
|||||||
@ -43,10 +43,10 @@ class PhishingCampaignsIdEndpoint(
|
|||||||
PaginatedResponse[SATPhishingCampaigns]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATPhishingCampaigns]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATPhishingCampaigns,
|
SATPhishingCampaigns,
|
||||||
|
|||||||
@ -52,10 +52,10 @@ class PhishingScenariosEndpoint(
|
|||||||
PaginatedResponse[SATPhishingScenarios]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATPhishingScenarios]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATPhishingScenarios,
|
SATPhishingScenarios,
|
||||||
|
|||||||
@ -38,10 +38,10 @@ class PhishingScenariosIdEndpoint(
|
|||||||
PaginatedResponse[SATPhishingScenarios]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATPhishingScenarios]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATPhishingScenarios,
|
SATPhishingScenarios,
|
||||||
|
|||||||
@ -54,10 +54,10 @@ class UsersEndpoint(
|
|||||||
PaginatedResponse[SATData]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATData]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATUsers,
|
SATUsers,
|
||||||
|
|||||||
@ -39,10 +39,10 @@ class UsersIdEndpoint(
|
|||||||
PaginatedResponse[SATUsers]: The initialized PaginatedResponse object.
|
PaginatedResponse[SATUsers]: The initialized PaginatedResponse object.
|
||||||
"""
|
"""
|
||||||
if params:
|
if params:
|
||||||
params["page"] = page
|
params["page[number]"] = page
|
||||||
params["limit"] = limit
|
params["page[size]"] = limit
|
||||||
else:
|
else:
|
||||||
params = {"page": page, "limit": limit}
|
params = {"page[number]": page, "page[size]": limit}
|
||||||
return PaginatedResponse(
|
return PaginatedResponse(
|
||||||
super()._make_request("GET", params=params),
|
super()._make_request("GET", params=params),
|
||||||
SATUsers,
|
SATUsers,
|
||||||
|
|||||||
@ -84,8 +84,11 @@ class PaginatedResponse(Generic[TModel]):
|
|||||||
self.endpointmodel = endpointmodel
|
self.endpointmodel = endpointmodel
|
||||||
self.endpoint = endpoint
|
self.endpoint = endpoint
|
||||||
self.limit = limit
|
self.limit = limit
|
||||||
# The following for SIEM is in the response body, not the headers
|
# Get page data from the response body
|
||||||
|
try:
|
||||||
self.parsed_pagination_response = parse_response_body(json.loads(response.content.decode('utf-8')).get('pagination', {}))
|
self.parsed_pagination_response = parse_response_body(json.loads(response.content.decode('utf-8')).get('pagination', {}))
|
||||||
|
except:
|
||||||
|
self.parsed_pagination_response = parse_response_body(json.loads(response.content.decode('utf-8')).get('meta.page', {}))
|
||||||
self.params = params
|
self.params = params
|
||||||
if self.parsed_pagination_response is not None:
|
if self.parsed_pagination_response is not None:
|
||||||
# Huntress SIEM API gives us a handy response to parse for Pagination
|
# Huntress SIEM API gives us a handy response to parse for Pagination
|
||||||
|
|||||||
@ -77,12 +77,19 @@ def parse_response_body(
|
|||||||
elif body.get("current_page") is not None:
|
elif body.get("current_page") is not None:
|
||||||
if body.get("current_page") > 1:
|
if body.get("current_page") > 1:
|
||||||
result["prev_page"] = body.get("current_page") - 1
|
result["prev_page"] = body.get("current_page") - 1
|
||||||
|
elif body.get("currentPage") is not None:
|
||||||
|
if body.get("currentPage") > 1:
|
||||||
|
result["prev_page"] = body.get("currentPage") - 1
|
||||||
|
|
||||||
if body.get("next_page") is not None:
|
if body.get("next_page") is not None:
|
||||||
result["next_page"] = body.get("next_page")
|
result["next_page"] = body.get("next_page")
|
||||||
|
elif body.get("currentPage") is not None and body.get("currentPage") < body.get("lastPage"):
|
||||||
|
result["next_page"] = body.get("currentPage") + 1
|
||||||
|
|
||||||
if body.get("last_page") is not None:
|
if body.get("last_page") is not None:
|
||||||
result["last_page"] = body.get("last_page")
|
result["last_page"] = body.get("last_page")
|
||||||
|
elif body.get("lastPage") is not None:
|
||||||
|
result["last_page"] = body.get("lastPage")
|
||||||
elif body.get("last_page") is None and body.get("current_page") is not None:
|
elif body.get("last_page") is None and body.get("current_page") is not None:
|
||||||
result["last_page"] = math.ceil(body.get("total_count")/body.get("limit"))
|
result["last_page"] = math.ceil(body.get("total_count")/body.get("limit"))
|
||||||
|
|
||||||
@ -92,12 +99,17 @@ def parse_response_body(
|
|||||||
result["has_next_page"] = True
|
result["has_next_page"] = True
|
||||||
elif body.get("current_page") is not None and body.get("next_page") is None:
|
elif body.get("current_page") is not None and body.get("next_page") is None:
|
||||||
result["has_next_page"] = False
|
result["has_next_page"] = False
|
||||||
|
elif body.get("currentPage") is not None and body.get("currentPage") < body.get("lastPage"):
|
||||||
|
result["has_next_page"] = True
|
||||||
|
|
||||||
if body.get("has_prev_page"):
|
if body.get("has_prev_page"):
|
||||||
result["has_prev_page"] = body.get("has_prev_page")
|
result["has_prev_page"] = body.get("has_prev_page")
|
||||||
elif body.get("current_page") is not None:
|
elif body.get("current_page") is not None:
|
||||||
if body.get("current_page") > 1:
|
if body.get("current_page") > 1:
|
||||||
result["has_prev_page"] = True
|
result["has_prev_page"] = True
|
||||||
|
elif body.get("currentPage") is not None:
|
||||||
|
if body.get("currentPage") > 1:
|
||||||
|
result["has_prev_page"] = True
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user