async def _generate_calendar_list_entities(
        self, client: httpx.AsyncClient
    ) -> AsyncGenerator[GoogleCalendarListEntity, None]:
        """Yield GoogleCalendarListEntity objects for each calendar in the user's CalendarList."""
        url = "https://www.googleapis.com/calendar/v3/users/me/calendarList"
        params = {"maxResults": 100}
        while True:
            data = await self._get_with_auth(client, url, params=params)
            items = data.get("items", [])
            for cal in items:
                yield GoogleCalendarListEntity(
                    entity_id=cal["id"],
                    breadcrumbs=[],  # top level entity
                    calendar_id=cal["id"],
                    summary=cal.get("summary"),
                    summary_override=cal.get("summaryOverride"),
                    color_id=cal.get("colorId"),
                    background_color=cal.get("backgroundColor"),
                    foreground_color=cal.get("foregroundColor"),
                    hidden=cal.get("hidden", False),
                    selected=cal.get("selected", False),
                    access_role=cal.get("accessRole"),
                    primary=cal.get("primary", False),
                    deleted=cal.get("deleted", False),
                )
            next_page_token = data.get("nextPageToken")
            if not next_page_token:
                break
            params["pageToken"] = next_page_token
Yield GoogleCalendarListEntity objects for each calendar in the user's CalendarList.
backend/airweave/platform/sources/google_calendar.py