pub enum AuthoredSourceRequirement {
Thread {
scope: CollaborationScope,
},
Revision {
scope: CollaborationScope,
revision: CollaborationRevision,
path: String,
},
Change {
scope: CollaborationScope,
change_id: ChangeId,
},
WholeSource {
scope: CollaborationScope,
state_id: StateId,
},
}Expand description
A distinct source permission required to emit an authored anchor or tag. Revision requirements include the original path, but not line coordinates: entry visibility is a property of the file, independent of its referrers.
Variants§
Thread
An explicitly named Thread must itself be readable.
Fields
scope: CollaborationScopeRevision
An exact authored revision and, if nonempty, its file must be readable.
Change
A logical identity needs a separately authorized revision selection. Absence of such a selection must not become an empty permission set.
WholeSource
A Read attestation over the complete exact State requires that no currently admitted entry in that source is withheld. An empty Revision path checks only State visibility and must never represent this rule.
Implementations§
Source§impl AuthoredSourceRequirement
impl AuthoredSourceRequirement
Sourcepub fn id(&self) -> Result<ContentHash, CollaborationCodecError>
pub fn id(&self) -> Result<ContentHash, CollaborationCodecError>
Stable derived index key. This does not alter any signed record bytes.
Trait Implementations§
Source§impl Clone for AuthoredSourceRequirement
impl Clone for AuthoredSourceRequirement
Source§fn clone(&self) -> AuthoredSourceRequirement
fn clone(&self) -> AuthoredSourceRequirement
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more