pub struct ConversationListItem {Show 22 fields
pub id: GroupId,
pub created_at_ns: i64,
pub membership_state: GroupMembershipState,
pub installations_last_checked: i64,
pub added_by_inbox_id: String,
pub welcome_sequence_id: Option<i64>,
pub dm_id: Option<String>,
pub rotated_at_ns: i64,
pub conversation_type: ConversationType,
pub is_commit_log_forked: Option<bool>,
pub message_id: Option<Vec<u8>>,
pub decrypted_message_bytes: Option<Vec<u8>>,
pub sent_at_ns: Option<i64>,
pub kind: Option<GroupMessageKind>,
pub sender_installation_id: Option<Vec<u8>>,
pub sender_inbox_id: Option<String>,
pub delivery_status: Option<DeliveryStatus>,
pub content_type: Option<ContentType>,
pub version_major: Option<i32>,
pub version_minor: Option<i32>,
pub authority_id: Option<String>,
pub sequence_id: Option<i64>,
}Expand description
Combined view of a group and its messages, now named conversation_list.
Fields§
§id: GroupIdgroup_id
created_at_ns: i64Based on timestamp of the welcome message
membership_state: GroupMembershipStateEnum, GroupMembershipState representing access to the group
installations_last_checked: i64Track when the latest, most recent installations were checked
added_by_inbox_id: StringThe inbox_id of who added the user to the group
welcome_sequence_id: Option<i64>The sequence id of the welcome message
dm_id: Option<String>concatenation of dm participant inbox_ids in alphanumeric order
rotated_at_ns: i64The last time the leaf node encryption key was rotated
conversation_type: ConversationTypeEnum, ConversationType signifies the group conversation type which extends to who can access it.
is_commit_log_forked: Option<bool>Whether the commit log for this conversation is forked
message_id: Option<Vec<u8>>Id of the message. Nullable because not every group has messages.
decrypted_message_bytes: Option<Vec<u8>>Contents of message after decryption.
sent_at_ns: Option<i64>Time in nanoseconds the message was sent.
kind: Option<GroupMessageKind>Group Message Kind Enum: 1 = Application, 2 = MembershipChange
sender_installation_id: Option<Vec<u8>>The ID of the App Installation this message was sent from.
sender_inbox_id: Option<String>The Inbox ID of the Sender
delivery_status: Option<DeliveryStatus>We optimistically store messages before sending.
content_type: Option<ContentType>The Content Type of the message
version_major: Option<i32>The content type version major
version_minor: Option<i32>The content type version minor
The ID of the authority defining the content type
sequence_id: Option<i64>sequence id of the message
Trait Implementations§
Source§impl Clone for ConversationListItem
impl Clone for ConversationListItem
Source§fn clone(&self) -> ConversationListItem
fn clone(&self) -> ConversationListItem
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 ConversationListItem
impl Debug for ConversationListItem
Source§impl<'de> Deserialize<'de> for ConversationListItem
impl<'de> Deserialize<'de> for ConversationListItem
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<__DB: Backend, __ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11, __ST12, __ST13, __ST14, __ST15, __ST16, __ST17, __ST18, __ST19, __ST20, __ST21> Queryable<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11, __ST12, __ST13, __ST14, __ST15, __ST16, __ST17, __ST18, __ST19, __ST20, __ST21), __DB> for ConversationListItemwhere
(GroupId, i64, GroupMembershipState, i64, String, Option<i64>, Option<String>, i64, ConversationType, Option<bool>, Option<Vec<u8>>, Option<Vec<u8>>, Option<i64>, Option<GroupMessageKind>, Option<Vec<u8>>, Option<String>, Option<DeliveryStatus>, Option<ContentType>, Option<i32>, Option<i32>, Option<String>, Option<i64>): FromStaticSqlRow<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11, __ST12, __ST13, __ST14, __ST15, __ST16, __ST17, __ST18, __ST19, __ST20, __ST21), __DB>,
impl<__DB: Backend, __ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11, __ST12, __ST13, __ST14, __ST15, __ST16, __ST17, __ST18, __ST19, __ST20, __ST21> Queryable<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11, __ST12, __ST13, __ST14, __ST15, __ST16, __ST17, __ST18, __ST19, __ST20, __ST21), __DB> for ConversationListItemwhere
(GroupId, i64, GroupMembershipState, i64, String, Option<i64>, Option<String>, i64, ConversationType, Option<bool>, Option<Vec<u8>>, Option<Vec<u8>>, Option<i64>, Option<GroupMessageKind>, Option<Vec<u8>>, Option<String>, Option<DeliveryStatus>, Option<ContentType>, Option<i32>, Option<i32>, Option<String>, Option<i64>): FromStaticSqlRow<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11, __ST12, __ST13, __ST14, __ST15, __ST16, __ST17, __ST18, __ST19, __ST20, __ST21), __DB>,
Source§type Row = (GroupId, i64, GroupMembershipState, i64, String, Option<i64>, Option<String>, i64, ConversationType, Option<bool>, Option<Vec<u8>>, Option<Vec<u8>>, Option<i64>, Option<GroupMessageKind>, Option<Vec<u8>>, Option<String>, Option<DeliveryStatus>, Option<ContentType>, Option<i32>, Option<i32>, Option<String>, Option<i64>)
type Row = (GroupId, i64, GroupMembershipState, i64, String, Option<i64>, Option<String>, i64, ConversationType, Option<bool>, Option<Vec<u8>>, Option<Vec<u8>>, Option<i64>, Option<GroupMessageKind>, Option<Vec<u8>>, Option<String>, Option<DeliveryStatus>, Option<ContentType>, Option<i32>, Option<i32>, Option<String>, Option<i64>)
Source§fn build(
row: (GroupId, i64, GroupMembershipState, i64, String, Option<i64>, Option<String>, i64, ConversationType, Option<bool>, Option<Vec<u8>>, Option<Vec<u8>>, Option<i64>, Option<GroupMessageKind>, Option<Vec<u8>>, Option<String>, Option<DeliveryStatus>, Option<ContentType>, Option<i32>, Option<i32>, Option<String>, Option<i64>),
) -> Result<Self>
fn build( row: (GroupId, i64, GroupMembershipState, i64, String, Option<i64>, Option<String>, i64, ConversationType, Option<bool>, Option<Vec<u8>>, Option<Vec<u8>>, Option<i64>, Option<GroupMessageKind>, Option<Vec<u8>>, Option<String>, Option<DeliveryStatus>, Option<ContentType>, Option<i32>, Option<i32>, Option<String>, Option<i64>), ) -> Result<Self>
Auto Trait Implementations§
impl Freeze for ConversationListItem
impl RefUnwindSafe for ConversationListItem
impl Send for ConversationListItem
impl Sync for ConversationListItem
impl Unpin for ConversationListItem
impl UnsafeUnpin for ConversationListItem
impl UnwindSafe for ConversationListItem
Blanket Implementations§
§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read more§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read more§fn aggregate_filter<P>(self, f: P) -> Self::Outputwhere
P: AsExpression<Bool>,
Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,
fn aggregate_filter<P>(self, f: P) -> Self::Outputwhere
P: AsExpression<Bool>,
Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,
§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSend for T
impl<T> DowncastSend for T
§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request§impl<T> IntoSql for T
impl<T> IntoSql for T
§impl<L> LayerExt<L> for L
impl<L> LayerExt<L> for L
§fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>where
L: Layer<S>,
Layered].