Skip to content

Commit

Permalink
[syft/blob_storage] only add blob persmission for an action object wh…
Browse files Browse the repository at this point in the history
…en its `syft_blob_storage_entry_id` is not None
  • Loading branch information
khoaguin committed Jul 5, 2024
1 parent efd1030 commit 54ba6b3
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 17 deletions.
25 changes: 15 additions & 10 deletions packages/syft/src/syft/service/request/request.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
14 changes: 7 additions & 7 deletions packages/syft/src/syft/service/sync/sync_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down

0 comments on commit 54ba6b3

Please sign in to comment.