Enumeration EntityEdgeDeletionAuthorizationInferenceBehavior

Enumeration Members

Enumeration Members

NONE

Authorization to delete (when CASCADE_DELETE_INVALIDATE_CACHE_ONLY or CASCADE_DELETE) or update (when SET_NULL_INVALIDATE_CACHE_ONLY or SET_NULL) all entities at the ends of edges of this type cannot be inferred from authorization of any single entity at the end of an edge of this type.

To evaluate canViewerDeleteAsync for the source entity, canViewerDeleteAsync must be called on all entities at the ends of all edges of this type.

ONE_IMPLIES_ALL

Authorization to delete (when CASCADE_DELETE_INVALIDATE_CACHE_ONLY or CASCADE_DELETE) or update (when SET_NULL_INVALIDATE_CACHE_ONLY or SET_NULL) all entities at the ends of edges of this type may be inferred from authorization of any single entity at the end of an edge of this type.

To evaluate canViewerDeleteAsync for the source entity, canViewerDeleteAsync must only be called on a single entity at the end of one edge of this type chosen at random.

This should only be the case when the entity at the other end of this edge can be implicitly deleted/updated by virtue of the source entity deletion being authorized and a single authorization check on one edge of this type.

Note that this is not used during actual deletions, only as an optimistic optimization during execution of canViewerDeleteAsync. Each entity being deleted will still check deletion privacy during actual deletion.