pub struct StoredMessageDeletion {
pub id: Vec<u8>,
pub group_id: GroupId,
pub deleted_message_id: Vec<u8>,
pub deleted_by_inbox_id: String,
pub is_super_admin_deletion: bool,
pub deleted_at_ns: i64,
}Expand description
Represents a deletion record for a message in a group conversation
Fields§
§id: Vec<u8>The ID of the DeleteMessage in the group_messages table
group_id: GroupIdThe group this deletion belongs to
deleted_message_id: Vec<u8>The ID of the original message being deleted
deleted_by_inbox_id: StringThe inbox_id of who sent the delete message
is_super_admin_deletion: boolWhether the deleter was a super admin at deletion time
deleted_at_ns: i64Timestamp when the deletion was processed
Trait Implementations§
Source§impl Clone for StoredMessageDeletion
impl Clone for StoredMessageDeletion
Source§fn clone(&self) -> StoredMessageDeletion
fn clone(&self) -> StoredMessageDeletion
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for StoredMessageDeletion
impl Debug for StoredMessageDeletion
Source§impl<'de> Deserialize<'de> for StoredMessageDeletion
impl<'de> Deserialize<'de> for StoredMessageDeletion
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl HasTable for StoredMessageDeletion
impl HasTable for StoredMessageDeletion
Source§impl<'ident> Identifiable for &'ident StoredMessageDeletion
impl<'ident> Identifiable for &'ident StoredMessageDeletion
Source§impl<'insert> Insertable<table> for &'insert StoredMessageDeletionwhere
&'insert Vec<u8>: AsExpression<<id as Expression>::SqlType> + AsExpression<<deleted_message_id as Expression>::SqlType>,
&'insert GroupId: AsExpression<<group_id as Expression>::SqlType>,
&'insert String: AsExpression<<deleted_by_inbox_id as Expression>::SqlType>,
&'insert bool: AsExpression<<is_super_admin_deletion as Expression>::SqlType>,
&'insert i64: AsExpression<<deleted_at_ns as Expression>::SqlType>,
impl<'insert> Insertable<table> for &'insert StoredMessageDeletionwhere
&'insert Vec<u8>: AsExpression<<id as Expression>::SqlType> + AsExpression<<deleted_message_id as Expression>::SqlType>,
&'insert GroupId: AsExpression<<group_id as Expression>::SqlType>,
&'insert String: AsExpression<<deleted_by_inbox_id as Expression>::SqlType>,
&'insert bool: AsExpression<<is_super_admin_deletion as Expression>::SqlType>,
&'insert i64: AsExpression<<deleted_at_ns as Expression>::SqlType>,
Source§type Values = <(Option<Grouped<Eq<id, <&'insert Vec<u8> as AsExpression<<id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<group_id, <&'insert GroupId as AsExpression<<group_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<deleted_message_id, <&'insert Vec<u8> as AsExpression<<deleted_message_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<deleted_by_inbox_id, <&'insert String as AsExpression<<deleted_by_inbox_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<is_super_admin_deletion, <&'insert bool as AsExpression<<is_super_admin_deletion as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<deleted_at_ns, <&'insert i64 as AsExpression<<deleted_at_ns as Expression>::SqlType>>::Expression>>>) as Insertable<table>>::Values
type Values = <(Option<Grouped<Eq<id, <&'insert Vec<u8> as AsExpression<<id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<group_id, <&'insert GroupId as AsExpression<<group_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<deleted_message_id, <&'insert Vec<u8> as AsExpression<<deleted_message_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<deleted_by_inbox_id, <&'insert String as AsExpression<<deleted_by_inbox_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<is_super_admin_deletion, <&'insert bool as AsExpression<<is_super_admin_deletion as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<deleted_at_ns, <&'insert i64 as AsExpression<<deleted_at_ns as Expression>::SqlType>>::Expression>>>) as Insertable<table>>::Values
The
VALUES clause to insert these records Read moreSource§fn values(
self,
) -> <(Option<Eq<id, &'insert Vec<u8>>>, Option<Eq<group_id, &'insert GroupId>>, Option<Eq<deleted_message_id, &'insert Vec<u8>>>, Option<Eq<deleted_by_inbox_id, &'insert String>>, Option<Eq<is_super_admin_deletion, &'insert bool>>, Option<Eq<deleted_at_ns, &'insert i64>>) as Insertable<table>>::Values
fn values( self, ) -> <(Option<Eq<id, &'insert Vec<u8>>>, Option<Eq<group_id, &'insert GroupId>>, Option<Eq<deleted_message_id, &'insert Vec<u8>>>, Option<Eq<deleted_by_inbox_id, &'insert String>>, Option<Eq<is_super_admin_deletion, &'insert bool>>, Option<Eq<deleted_at_ns, &'insert i64>>) as Insertable<table>>::Values
Construct
Self::Values Read more§fn insert_into(self, table: T) -> InsertStatement<T, Self::Values>where
T: Table,
Self: Sized,
fn insert_into(self, table: T) -> InsertStatement<T, Self::Values>where
T: Table,
Self: Sized,
Insert
self into a given table. Read moreSource§impl Insertable<table> for StoredMessageDeletionwhere
Vec<u8>: AsExpression<<id as Expression>::SqlType> + AsExpression<<deleted_message_id as Expression>::SqlType>,
GroupId: AsExpression<<group_id as Expression>::SqlType>,
String: AsExpression<<deleted_by_inbox_id as Expression>::SqlType>,
bool: AsExpression<<is_super_admin_deletion as Expression>::SqlType>,
i64: AsExpression<<deleted_at_ns as Expression>::SqlType>,
impl Insertable<table> for StoredMessageDeletionwhere
Vec<u8>: AsExpression<<id as Expression>::SqlType> + AsExpression<<deleted_message_id as Expression>::SqlType>,
GroupId: AsExpression<<group_id as Expression>::SqlType>,
String: AsExpression<<deleted_by_inbox_id as Expression>::SqlType>,
bool: AsExpression<<is_super_admin_deletion as Expression>::SqlType>,
i64: AsExpression<<deleted_at_ns as Expression>::SqlType>,
Source§type Values = <(Option<Grouped<Eq<id, <Vec<u8> as AsExpression<<id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<group_id, <GroupId as AsExpression<<group_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<deleted_message_id, <Vec<u8> as AsExpression<<deleted_message_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<deleted_by_inbox_id, <String as AsExpression<<deleted_by_inbox_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<is_super_admin_deletion, <bool as AsExpression<<is_super_admin_deletion as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<deleted_at_ns, <i64 as AsExpression<<deleted_at_ns as Expression>::SqlType>>::Expression>>>) as Insertable<table>>::Values
type Values = <(Option<Grouped<Eq<id, <Vec<u8> as AsExpression<<id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<group_id, <GroupId as AsExpression<<group_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<deleted_message_id, <Vec<u8> as AsExpression<<deleted_message_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<deleted_by_inbox_id, <String as AsExpression<<deleted_by_inbox_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<is_super_admin_deletion, <bool as AsExpression<<is_super_admin_deletion as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<deleted_at_ns, <i64 as AsExpression<<deleted_at_ns as Expression>::SqlType>>::Expression>>>) as Insertable<table>>::Values
The
VALUES clause to insert these records Read moreSource§fn values(
self,
) -> <(Option<Eq<id, Vec<u8>>>, Option<Eq<group_id, GroupId>>, Option<Eq<deleted_message_id, Vec<u8>>>, Option<Eq<deleted_by_inbox_id, String>>, Option<Eq<is_super_admin_deletion, bool>>, Option<Eq<deleted_at_ns, i64>>) as Insertable<table>>::Values
fn values( self, ) -> <(Option<Eq<id, Vec<u8>>>, Option<Eq<group_id, GroupId>>, Option<Eq<deleted_message_id, Vec<u8>>>, Option<Eq<deleted_by_inbox_id, String>>, Option<Eq<is_super_admin_deletion, bool>>, Option<Eq<deleted_at_ns, i64>>) as Insertable<table>>::Values
Construct
Self::Values Read more§fn insert_into(self, table: T) -> InsertStatement<T, Self::Values>where
T: Table,
Self: Sized,
fn insert_into(self, table: T) -> InsertStatement<T, Self::Values>where
T: Table,
Self: Sized,
Insert
self into a given table. Read moreSource§impl PartialEq for StoredMessageDeletion
impl PartialEq for StoredMessageDeletion
Source§fn eq(&self, other: &StoredMessageDeletion) -> bool
fn eq(&self, other: &StoredMessageDeletion) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl<__DB: Backend, __ST0, __ST1, __ST2, __ST3, __ST4, __ST5> Queryable<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5), __DB> for StoredMessageDeletion
impl<__DB: Backend, __ST0, __ST1, __ST2, __ST3, __ST4, __ST5> Queryable<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5), __DB> for StoredMessageDeletion
Source§impl<__DB: Backend> QueryableByName<__DB> for StoredMessageDeletionwhere
Vec<u8>: FromSql<SqlTypeOf<id>, __DB> + FromSql<SqlTypeOf<deleted_message_id>, __DB>,
GroupId: FromSql<SqlTypeOf<group_id>, __DB>,
String: FromSql<SqlTypeOf<deleted_by_inbox_id>, __DB>,
bool: FromSql<SqlTypeOf<is_super_admin_deletion>, __DB>,
i64: FromSql<SqlTypeOf<deleted_at_ns>, __DB>,
impl<__DB: Backend> QueryableByName<__DB> for StoredMessageDeletionwhere
Vec<u8>: FromSql<SqlTypeOf<id>, __DB> + FromSql<SqlTypeOf<deleted_message_id>, __DB>,
GroupId: FromSql<SqlTypeOf<group_id>, __DB>,
String: FromSql<SqlTypeOf<deleted_by_inbox_id>, __DB>,
bool: FromSql<SqlTypeOf<is_super_admin_deletion>, __DB>,
i64: FromSql<SqlTypeOf<deleted_at_ns>, __DB>,
Source§impl Serialize for StoredMessageDeletion
impl Serialize for StoredMessageDeletion
Source§impl<C> Store<C> for StoredMessageDeletionwhere
C: ConnectionExt,
impl<C> Store<C> for StoredMessageDeletionwhere
C: ConnectionExt,
Source§impl<C> StoreOrIgnore<C> for StoredMessageDeletionwhere
C: ConnectionExt,
impl<C> StoreOrIgnore<C> for StoredMessageDeletionwhere
C: ConnectionExt,
impl Eq for StoredMessageDeletion
impl StructuralPartialEq for StoredMessageDeletion
impl UndecoratedInsertRecord<table> for StoredMessageDeletion
Auto Trait Implementations§
impl Freeze for StoredMessageDeletion
impl RefUnwindSafe for StoredMessageDeletion
impl Send for StoredMessageDeletion
impl Sync for StoredMessageDeletion
impl Unpin for StoredMessageDeletion
impl UnsafeUnpin for StoredMessageDeletion
impl UnwindSafe for StoredMessageDeletion
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>,
Add an aggregate function filter Read more
§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
Add an aggregate function order Read more
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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)
Converts
&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)
Converts
&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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<DB, T> FromSqlRow<Untyped, DB> for Twhere
DB: Backend,
T: QueryableByName<DB>,
impl<DB, T> FromSqlRow<Untyped, DB> for Twhere
DB: Backend,
T: QueryableByName<DB>,
§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>
Converts
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>
Converts
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>
Wrap the input message
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>,
Applies the layer to a service and wraps it in [
Layered].§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T, ST, DB> StaticallySizedRow<ST, DB> for Twhere
ST: SqlTypeOrSelectable + TupleSize,
T: Queryable<ST, DB>,
DB: Backend,
impl<T, ST, DB> StaticallySizedRow<ST, DB> for Twhere
ST: SqlTypeOrSelectable + TupleSize,
T: Queryable<ST, DB>,
DB: Backend,
§const FIELD_COUNT: usize = <ST as crate::util::TupleSize>::SIZE
const FIELD_COUNT: usize = <ST as crate::util::TupleSize>::SIZE
The number of fields that this type will consume.
Source§impl<S, T> Upcast<T> for S
impl<S, T> Upcast<T> for S
§impl<T> WindowExpressionMethods for T
impl<T> WindowExpressionMethods for T
§fn over(self) -> Self::Outputwhere
Self: OverDsl,
fn over(self) -> Self::Outputwhere
Self: OverDsl,
Turn a function call into a window function call Read more
§fn window_filter<P>(self, f: P) -> Self::Outputwhere
P: AsExpression<Bool>,
Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,
fn window_filter<P>(self, f: P) -> Self::Outputwhere
P: AsExpression<Bool>,
Self: FilterDsl<<P as AsExpression<Bool>>::Expression>,
Add a filter to the current window function Read more
§fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
Add a partition clause to the current window function Read more
§fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
Add a order clause to the current window function Read more