pub struct DiscussionRecord {Show 13 fields
pub ref: Option<RecordRef>,
pub version: Vec<u8>,
pub anchor: Option<CollaborationAnchor>,
pub title: String,
pub status: i32,
pub blocking: bool,
pub turn_count: u64,
pub extracted_context: Option<RecordRef>,
pub causal_heads: Vec<Vec<u8>>,
pub audience: i32,
pub audience_label: String,
pub actions: Vec<DiscussionActionAvailability>,
pub resolutions: Vec<DiscussionResolutionRecord>,
}Fields§
§ref: Option<RecordRef>§version: Vec<u8>§anchor: Option<CollaborationAnchor>§title: String§status: i32§blocking: bool§turn_count: u64§extracted_context: Option<RecordRef>§causal_heads: Vec<Vec<u8>>Exact replication-operation frontier at this record version. Pass these IDs to AppendTurn; concurrent appends remain distinct until observed.
audience: i32Public maps to canonical Public; Members maps to Internal. Private maps to Private{audience_label}; this is an additional restriction on scope ACL.
audience_label: String§actions: Vec<DiscussionActionAvailability>One entry per supported/unsupported DiscussionActionKind, evaluated for this caller and version: actionable only if implemented, authorized, and with no unmet requirements. Missing entries mean unknown, never permitted. Resolve/reopen use the inherited blocking rule; blocking-to-non-blocking cannot bypass it. Non-blocking discussions keep ordinary writer behavior. CHANGE_BLOCKING remains unimplemented until a mutation is supported; this field does not add an RPC or signed operation variant. Agents act as their person within all existing agent ceilings, including administrator agents.
resolutions: Vec<DiscussionResolutionRecord>Metadata for current resolution operations; concurrent resolutions remain distinct by causal_id. include_history also includes past resolutions, including those followed by reopen. Only disclose reader-visible originals.
Implementations§
Source§impl DiscussionRecord
impl DiscussionRecord
Sourcepub fn status(&self) -> Status
pub fn status(&self) -> Status
Returns the enum value of status, or the default if the field is set to an invalid enum value.
Sourcepub fn set_status(&mut self, value: Status)
pub fn set_status(&mut self, value: Status)
Sets status to the provided enum value.
Sourcepub fn audience(&self) -> Audience
pub fn audience(&self) -> Audience
Returns the enum value of audience, or the default if the field is set to an invalid enum value.
Sourcepub fn set_audience(&mut self, value: Audience)
pub fn set_audience(&mut self, value: Audience)
Sets audience to the provided enum value.
Trait Implementations§
Source§impl Clone for DiscussionRecord
impl Clone for DiscussionRecord
Source§fn clone(&self) -> DiscussionRecord
fn clone(&self) -> DiscussionRecord
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 DiscussionRecord
impl Debug for DiscussionRecord
Source§impl Default for DiscussionRecord
impl Default for DiscussionRecord
Source§fn default() -> DiscussionRecord
fn default() -> DiscussionRecord
Source§impl Message for DiscussionRecord
impl Message for DiscussionRecord
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.Source§impl PartialEq for DiscussionRecord
impl PartialEq for DiscussionRecord
impl StructuralPartialEq for DiscussionRecord
Auto Trait Implementations§
impl Freeze for DiscussionRecord
impl RefUnwindSafe for DiscussionRecord
impl Send for DiscussionRecord
impl Sync for DiscussionRecord
impl Unpin for DiscussionRecord
impl UnsafeUnpin for DiscussionRecord
impl UnwindSafe for DiscussionRecord
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<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