Skip to content

Commit bb9a1ac

Browse files
committed
BLDX-460: Fixed iterative pagination for User and Role caches
1 parent f8e74fe commit bb9a1ac

4 files changed

Lines changed: 8 additions & 16 deletions

File tree

pyatlan/cache/aio/group_cache.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,13 +82,11 @@ async def refresh_cache(self) -> None:
8282

8383
async def _refresh_cache(self) -> None:
8484
async with self.lock:
85-
groups = await self.client.group.get_all()
85+
groups = [group async for group in await self.client.group.get_all()]
8686
if not groups:
8787
return
88-
# Process response using shared logic - extract records from response
89-
group_list = groups.records or []
9088
(self.map_id_to_name, self.map_name_to_id, self.map_alias_to_id) = (
91-
GroupCacheCommon.refresh_cache_data(group_list)
89+
GroupCacheCommon.refresh_cache_data(groups)
9290
)
9391

9492
async def _get_id_for_name(self, name: str) -> Optional[str]:

pyatlan/cache/aio/user_cache.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,11 @@ async def refresh_cache(self) -> None:
7474

7575
async def _refresh_cache(self) -> None:
7676
async with self.lock:
77-
users = await self.client.user.get_all()
77+
users = [user async for user in await self.client.user.get_all()]
7878
if not users:
7979
return
80-
# Process response using shared logic - extract records from response
81-
user_list = users.records or []
8280
(self.map_id_to_name, self.map_name_to_id, self.map_email_to_id) = (
83-
UserCacheCommon.refresh_cache_data(user_list)
81+
UserCacheCommon.refresh_cache_data(users)
8482
)
8583

8684
async def _get_id_for_name(self, name: str) -> Optional[str]:

pyatlan/cache/group_cache.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,11 @@ def validate_aliases(self, aliases: Iterable[str]):
6464

6565
def _refresh_cache(self) -> None:
6666
with self.lock:
67-
groups = self.client.group.get_all()
67+
groups = [group for group in self.client.group.get_all()]
6868
if not groups:
6969
return
70-
# Process response using shared logic - extract records from response
71-
group_list = groups.records or []
7270
(self.map_id_to_name, self.map_name_to_id, self.map_alias_to_id) = (
73-
GroupCacheCommon.refresh_cache_data(group_list)
71+
GroupCacheCommon.refresh_cache_data(groups)
7472
)
7573

7674
def _get_id_for_name(self, name: str) -> Optional[str]:

pyatlan/cache/user_cache.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,11 @@ def validate_names(self, names: Iterable[str]):
6464

6565
def _refresh_cache(self) -> None:
6666
with self.lock:
67-
users = self.client.user.get_all()
67+
users = [user for user in self.client.user.get_all()]
6868
if not users:
6969
return
70-
# Process response using shared logic - extract records from response
71-
user_list = users.records or []
7270
(self.map_id_to_name, self.map_name_to_id, self.map_email_to_id) = (
73-
UserCacheCommon.refresh_cache_data(user_list)
71+
UserCacheCommon.refresh_cache_data(users)
7472
)
7573

7674
def _get_id_for_name(self, name: str) -> Optional[str]:

0 commit comments

Comments
 (0)