Closed foundrytom closed 3 months ago
The main idea here is that making existing entities read-only per-se is prohibitive, and not a pattern we want to encourage (imaging opening a work file, making a change, then republishing). If you couldn't just republish to the existing entity, you'd need some overly complex getWithRelationship
dance.
Note that a prior simple addition to support access modes in resolve
#98 has a bug, in that supported_access_modes
does not propagate to newly published versions, so once an entity is published it becomes kRead
-only.
It's likely this existing mechanism will be rewritten as part of this issue, so not creating a separate bug report.
What
Allow the BAL library to define that specific entities are read-only/write only and disallow publishing
Why
Allows that branch of OpenAssetIO api contracts to be tested
ACs
resolve
andentityTraits
treats all access modes the same as the current happy path (i.e.read
).null
disables that access mode, with appropriate errors raised.preflight
andregister
) error based on management policy.preflight
andregister
) error based on entity traits withwrite
policy.