Nir Diwakar (Nir)
08/30/2024, 3:10 PM{
  "events": [],
  "nextCursor": "AAGxMwAAAZGg69ZzAAAAAAAAAAAAAAAAAAAAAA",
  "moreEvents": true,
  "cursorExpired": false
}class EgnytePaginator(BaseAPIPaginator):
    def get_next(self, response: Response) -> Optional[str]:
        moreEvents = response.json().get("moreEvents")
        if moreEvents is False:
            return None
        return response.json().get("nextCursor")def get_url_params(
        self,
        context: Context | None,  # noqa: ARG002
        next_page_token: Any | None,  # noqa: ANN401
    ) -> dict[str, Any]:
        params: dict = {}
        if next_page_token:
            logging.info(f'Next token: {next_page_token}')
            params["nextCursor"] = next_page_token
            return params
        params["startDate"] = self.start_timeAndy Carter
08/30/2024, 3:27 PMhas_moreNir Diwakar (Nir)
09/02/2024, 2:49 AM2024-08-30 17:26:38,122 | INFO     | root                 | Parsed 0 events from response
2024-08-30 17:26:38,123 | INFO     | root                 | More events: True
2024-08-30 17:26:38,123 | INFO     | root                 | Next cursor: AAGxMwAAAZGIACLgAAAAAAAAAAAAAAAAAAAAAA
2024-08-30 17:26:38,123 | INFO     | tap-egnyte.auth_events | Pagination stopped after 0 pages because no records were found in the last responseEdgar Ramírez (Arch.dev)
09/02/2024, 4:06 AMNir Diwakar (Nir)
09/02/2024, 12:04 PMdef parse_response(self, response: Response) -> Iterable[dict]:
    data = response.json()
    events = data.get("events", [])
    if events:
        for event in events:
            yield event
    elif data.get("moreEvents"):
        # Yield None to indicate pagination should continue
        yield {}Edgar Ramírez (Arch.dev)
09/02/2024, 3:41 PM