pub struct DiscussionResolutionRecord {
pub discussion: Option<RecordRef>,
pub causal_id: Vec<u8>,
pub principal_id: String,
pub agent_id: String,
pub rule: i32,
pub administrator_override: bool,
}Expand description
Server-derived admission metadata for one original signed resolution. NOT part of ResolveDiscussionRequest or the canonical author-signed operation; neither the client nor the courier can assert an override. Retain the rule and marker at admission, never recompute history from today’s spool settings. This projection is not an offline-verifiable authorization proof.
Fields§
§discussion: Option<RecordRef>§causal_id: Vec<u8>Exact causal operation ID of the original signed resolution.
principal_id: StringVerified original actor, not the uploader. Agent acts as principal_id.
agent_id: String§rule: i32Effective, non-UNSPECIFIED rule in force when admitted.
administrator_override: boolTrue exactly when a blocking discussion was resolved under OPENER_OR_ADMIN by an authorized spool administrator whose person differs from its opener. False for opener resolutions, ANY_WRITER, and non-blocking discussions. Missing metadata means unknown, not evidence that no override occurred.
Implementations§
Source§impl DiscussionResolutionRecord
impl DiscussionResolutionRecord
Sourcepub fn rule(&self) -> BlockingDiscussionResolveRule
pub fn rule(&self) -> BlockingDiscussionResolveRule
Returns the enum value of rule, or the default if the field is set to an invalid enum value.
Sourcepub fn set_rule(&mut self, value: BlockingDiscussionResolveRule)
pub fn set_rule(&mut self, value: BlockingDiscussionResolveRule)
Sets rule to the provided enum value.
Trait Implementations§
Source§impl Clone for DiscussionResolutionRecord
impl Clone for DiscussionResolutionRecord
Source§fn clone(&self) -> DiscussionResolutionRecord
fn clone(&self) -> DiscussionResolutionRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DiscussionResolutionRecord
impl Debug for DiscussionResolutionRecord
Source§impl Default for DiscussionResolutionRecord
impl Default for DiscussionResolutionRecord
Source§fn default() -> DiscussionResolutionRecord
fn default() -> DiscussionResolutionRecord
impl Eq for DiscussionResolutionRecord
Source§impl Hash for DiscussionResolutionRecord
impl Hash for DiscussionResolutionRecord
Source§impl Message for DiscussionResolutionRecord
impl Message for DiscussionResolutionRecord
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.impl StructuralPartialEq for DiscussionResolutionRecord
Auto Trait Implementations§
impl Freeze for DiscussionResolutionRecord
impl RefUnwindSafe for DiscussionResolutionRecord
impl Send for DiscussionResolutionRecord
impl Sync for DiscussionResolutionRecord
impl Unpin for DiscussionResolutionRecord
impl UnsafeUnpin for DiscussionResolutionRecord
impl UnwindSafe for DiscussionResolutionRecord
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more