pub struct PushSubscription {
pub id: String,
pub player_id: String,
pub endpoint: String,
pub p256dh: String,
pub auth: String,
pub date: NaiveDateTime,
}Fields§
§id: String§player_id: String§endpoint: String§p256dh: String§auth: String§date: NaiveDateTimeImplementations§
Source§impl PushSubscription
impl PushSubscription
pub async fn new( player_id: String, endpoint: String, p256dh: String, auth: String, ) -> Self
pub async fn save(&self) -> Result<Self, String>
pub async fn get_subscription(player_id: String) -> Result<Option<Self>, String>
pub async fn get_all_subscriptions( player_group: PlayerGroups, ) -> Result<Option<Vec<Self>>, String>
pub async fn unsubscribe(player_id: String) -> Result<usize, String>
Trait Implementations§
Source§impl Clone for PushSubscription
impl Clone for PushSubscription
Source§fn clone(&self) -> PushSubscription
fn clone(&self) -> PushSubscription
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 PushSubscription
impl Debug for PushSubscription
Source§impl<'de> Deserialize<'de> for PushSubscription
impl<'de> Deserialize<'de> for PushSubscription
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 Insertable<table> for PushSubscriptionwhere
String: AsExpression<<id as Expression>::SqlType> + AsExpression<<player_id as Expression>::SqlType> + AsExpression<<endpoint as Expression>::SqlType> + AsExpression<<p256dh as Expression>::SqlType> + AsExpression<<auth as Expression>::SqlType>,
NaiveDateTime: AsExpression<<date as Expression>::SqlType>,
impl Insertable<table> for PushSubscriptionwhere
String: AsExpression<<id as Expression>::SqlType> + AsExpression<<player_id as Expression>::SqlType> + AsExpression<<endpoint as Expression>::SqlType> + AsExpression<<p256dh as Expression>::SqlType> + AsExpression<<auth as Expression>::SqlType>,
NaiveDateTime: AsExpression<<date as Expression>::SqlType>,
Source§type Values = <(Option<Grouped<Eq<id, <String as AsExpression<<id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<player_id, <String as AsExpression<<player_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<endpoint, <String as AsExpression<<endpoint as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<p256dh, <String as AsExpression<<p256dh as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<auth, <String as AsExpression<<auth as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<date, <NaiveDateTime as AsExpression<<date as Expression>::SqlType>>::Expression>>>) as Insertable<table>>::Values
type Values = <(Option<Grouped<Eq<id, <String as AsExpression<<id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<player_id, <String as AsExpression<<player_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<endpoint, <String as AsExpression<<endpoint as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<p256dh, <String as AsExpression<<p256dh as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<auth, <String as AsExpression<<auth as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<date, <NaiveDateTime as AsExpression<<date as Expression>::SqlType>>::Expression>>>) as Insertable<table>>::Values
The
VALUES clause to insert these records Read moreSource§fn values(
self,
) -> <(Option<Eq<id, String>>, Option<Eq<player_id, String>>, Option<Eq<endpoint, String>>, Option<Eq<p256dh, String>>, Option<Eq<auth, String>>, Option<Eq<date, NaiveDateTime>>) as Insertable<table>>::Values
fn values( self, ) -> <(Option<Eq<id, String>>, Option<Eq<player_id, String>>, Option<Eq<endpoint, String>>, Option<Eq<p256dh, String>>, Option<Eq<auth, String>>, Option<Eq<date, NaiveDateTime>>) 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<'insert> Insertable<table> for &'insert PushSubscriptionwhere
&'insert String: AsExpression<<id as Expression>::SqlType> + AsExpression<<player_id as Expression>::SqlType> + AsExpression<<endpoint as Expression>::SqlType> + AsExpression<<p256dh as Expression>::SqlType> + AsExpression<<auth as Expression>::SqlType>,
&'insert NaiveDateTime: AsExpression<<date as Expression>::SqlType>,
impl<'insert> Insertable<table> for &'insert PushSubscriptionwhere
&'insert String: AsExpression<<id as Expression>::SqlType> + AsExpression<<player_id as Expression>::SqlType> + AsExpression<<endpoint as Expression>::SqlType> + AsExpression<<p256dh as Expression>::SqlType> + AsExpression<<auth as Expression>::SqlType>,
&'insert NaiveDateTime: AsExpression<<date as Expression>::SqlType>,
Source§type Values = <(Option<Grouped<Eq<id, <&'insert String as AsExpression<<id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<player_id, <&'insert String as AsExpression<<player_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<endpoint, <&'insert String as AsExpression<<endpoint as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<p256dh, <&'insert String as AsExpression<<p256dh as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<auth, <&'insert String as AsExpression<<auth as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<date, <&'insert NaiveDateTime as AsExpression<<date as Expression>::SqlType>>::Expression>>>) as Insertable<table>>::Values
type Values = <(Option<Grouped<Eq<id, <&'insert String as AsExpression<<id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<player_id, <&'insert String as AsExpression<<player_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<endpoint, <&'insert String as AsExpression<<endpoint as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<p256dh, <&'insert String as AsExpression<<p256dh as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<auth, <&'insert String as AsExpression<<auth as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<date, <&'insert NaiveDateTime as AsExpression<<date as Expression>::SqlType>>::Expression>>>) as Insertable<table>>::Values
The
VALUES clause to insert these records Read moreSource§fn values(
self,
) -> <(Option<Eq<id, &'insert String>>, Option<Eq<player_id, &'insert String>>, Option<Eq<endpoint, &'insert String>>, Option<Eq<p256dh, &'insert String>>, Option<Eq<auth, &'insert String>>, Option<Eq<date, &'insert NaiveDateTime>>) as Insertable<table>>::Values
fn values( self, ) -> <(Option<Eq<id, &'insert String>>, Option<Eq<player_id, &'insert String>>, Option<Eq<endpoint, &'insert String>>, Option<Eq<p256dh, &'insert String>>, Option<Eq<auth, &'insert String>>, Option<Eq<date, &'insert NaiveDateTime>>) 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<__DB: Backend, __ST0, __ST1, __ST2, __ST3, __ST4, __ST5> Queryable<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5), __DB> for PushSubscriptionwhere
(String, String, String, String, String, NaiveDateTime): FromStaticSqlRow<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5), __DB>,
impl<__DB: Backend, __ST0, __ST1, __ST2, __ST3, __ST4, __ST5> Queryable<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5), __DB> for PushSubscriptionwhere
(String, String, String, String, String, NaiveDateTime): FromStaticSqlRow<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5), __DB>,
Source§impl Serialize for PushSubscription
impl Serialize for PushSubscription
impl UndecoratedInsertRecord<table> for PushSubscription
Auto Trait Implementations§
impl Freeze for PushSubscription
impl RefUnwindSafe for PushSubscription
impl Send for PushSubscription
impl Sync for PushSubscription
impl Unpin for PushSubscription
impl UnsafeUnpin for PushSubscription
impl UnwindSafe for PushSubscription
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
§impl<T> CloneAny for T
impl<T> CloneAny for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DebugAny for T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§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<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> 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>
§impl<T> IntoSql for T
impl<T> IntoSql for T
§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.
impl<T> UnsafeAny for Twhere
T: Any,
§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