Skip to content

Commit 2aeef4f

Browse files
committed
fix: Folder permission cache update sometimes raised TypeError
1 parent 55a0e70 commit 2aeef4f

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

filer/cache.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,4 @@ def update_folder_permission_cache(user: UserModel, permission: str, id_list: ty
8686
permission (str): The permission to update.
8787
id_list (list): The list of IDs to set as the new permissions.
8888
"""
89-
perms = get_folder_permission_cache(user, permission) or {}
90-
perms[user.pk] = id_list
91-
cache.set(get_folder_perm_cache_key(user, permission), perms)
89+
cache.set(get_folder_perm_cache_key(user, permission), {user.pk: set(id_list)})

tests/test_permission_cache.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,9 @@ def test_update_folder_permission_cache_updates_permissions_for_user_and_permiss
4545
update_folder_permission_cache(self.user, self.permission, self.id_list)
4646
permissions = get_folder_permission_cache(self.user, self.permission)
4747
self.assertEqual(permissions, self.id_list)
48+
49+
def test_update_folder_permission_cache_overwrites_existing_cache_value(self):
50+
update_folder_permission_cache(self.user, self.permission, {2})
51+
update_folder_permission_cache(self.user, self.permission, self.id_list)
52+
permissions = get_folder_permission_cache(self.user, self.permission)
53+
self.assertEqual(permissions, self.id_list)

0 commit comments

Comments
 (0)