Permissions

Convenience functions to set permissions on Synapse entities, without having to know the granular access control list

challengeutils.permissions.get_user_entity_permissions(syn, entity)[source]

Gets the list of permission that the caller has on a given Entity. https://rest-docs.synapse.org/rest/org/sagebionetworks/repo/model/auth/UserEntityPermissions.html

Parameters
  • syn – Synapse connection

  • entity – Synapse id or Entity

Returns

UserEntityPermissions

challengeutils.permissions.set_entity_permissions(syn, entity, principalid, permission_level='download')[source]

Convenience function to set ACL on an entity for a user or team based on permission levels (view, download…)

Parameters
  • syn – Synapse object

  • entity – An Entity or Synapse ID to lookup

  • principalid – Identifier of a user or group. To give anybody on the web access, specify None.

  • permission_level – Can be “view”, “download”, “edit”, “edit_and_delete”, “admin” or ‘remove’. If ‘remove’ is specified, the permissions for the principalid is deleted. Default is ‘download’

challengeutils.permissions.set_evaluation_permissions(syn, evaluation, principalid, permission_level='view')[source]

Convenience function to set ACL on an entity for a user or team based on permission levels (view, download…)

Parameters
  • syn – Synapse object

  • evaluation – An Evaluation or Evaluation id

  • principalid – Identifier of a user or group. To give anybody on the web access, specify None.

  • permission_level – Can be “view”, “submit”, “score”, “admin”, or ‘remove’. If ‘remove’ is specified, the permissions for the principalid is deleted. Default is ‘view’