From 54ba6b3327d5343a66e63b60f525640fe6d07192 Mon Sep 17 00:00:00 2001 From: dk Date: Fri, 5 Jul 2024 10:56:13 +0700 Subject: [PATCH] [syft/blob_storage] only add blob persmission for an action object when its `syft_blob_storage_entry_id` is not None --- .../syft/src/syft/service/request/request.py | 25 +++++++++++-------- .../src/syft/service/sync/sync_service.py | 14 +++++------ 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/packages/syft/src/syft/service/request/request.py b/packages/syft/src/syft/service/request/request.py index 8c5687ac55e..65a64872249 100644 --- a/packages/syft/src/syft/service/request/request.py +++ b/packages/syft/src/syft/service/request/request.py @@ -158,24 +158,29 @@ def _run( uid_blob = action_obj.private.syft_blob_storage_entry_id else: uid_blob = action_obj.syft_blob_storage_entry_id - requesting_permission_blob_obj = ActionObjectPermission( - uid=uid_blob, - credentials=context.requesting_user_credentials, - permission=self.apply_permission_type, - ) + if uid_blob is not None: + requesting_permission_blob_obj = ActionObjectPermission( + uid=uid_blob, + credentials=context.requesting_user_credentials, + permission=self.apply_permission_type, + ) if apply: logger.debug( "ADDING PERMISSION", requesting_permission_action_obj, id_action ) action_store.add_permission(requesting_permission_action_obj) - blob_storage_service.stash.add_permission( - requesting_permission_blob_obj - ) + if uid_blob is not None: + blob_storage_service.stash.add_permission( + requesting_permission_blob_obj + ) else: if action_store.has_permission(requesting_permission_action_obj): action_store.remove_permission(requesting_permission_action_obj) - if blob_storage_service.stash.has_permission( - requesting_permission_blob_obj + if ( + uid_blob is not None + and blob_storage_service.stash.has_permission( + requesting_permission_blob_obj + ) ): blob_storage_service.stash.remove_permission( requesting_permission_blob_obj diff --git a/packages/syft/src/syft/service/sync/sync_service.py b/packages/syft/src/syft/service/sync/sync_service.py index 62885742c5b..d0f1f900358 100644 --- a/packages/syft/src/syft/service/sync/sync_service.py +++ b/packages/syft/src/syft/service/sync/sync_service.py @@ -72,13 +72,13 @@ def add_actionobject_read_permissions( for permission in new_permissions: if permission.permission == ActionPermission.READ: store_to.add_permission(permission) - - permission_blob = ActionObjectPermission( - uid=blob_id, - permission=permission.permission, - credentials=permission.credentials, - ) - store_to_blob.add_permission(permission_blob) + if blob_id is not None: + permission_blob = ActionObjectPermission( + uid=blob_id, + permission=permission.permission, + credentials=permission.credentials, + ) + store_to_blob.add_permission(permission_blob) def set_obj_ids(self, context: AuthedServiceContext, x: Any) -> None: if hasattr(x, "__dict__") and isinstance(x, SyftObject):