pub struct User {
pub username: String,
pub groups: Vec<u64, Global>,
pub roles: Vec<u64, Global>,
pub argon_hash: Option<SensitiveString>,
}
Expand description
A user that can authenticate with BonsaiDb.
Fields§
§username: String
The name of the role. Must be unique.
groups: Vec<u64, Global>
The IDs of the user groups this user belongs to.
roles: Vec<u64, Global>
The IDs of the roles this user has been assigned.
argon_hash: Option<SensitiveString>
The user’s stored password hash.
This field is not feature gated to prevent losing stored passwords if
the password-hashing
feature is disabled and then re-enabled and user
records are updated in the meantime.
Implementations§
§impl User
impl User
pub fn assume_identity<'name, Storage>( name_or_id: impl Nameable<'name, u64>, storage: &Storage ) -> Result<<Storage as StorageConnection>::Authenticated, Error>where Storage: StorageConnection,
pub async fn assume_identity_async<'name, Storage>( name_or_id: impl Nameable<'name, u64> + Send, storage: &Storage ) -> impl Future<Output = Result<<Storage as AsyncStorageConnection>::Authenticated, Error>>where Storage: AsyncStorageConnection,
pub fn default_with_username(username: impl Into<String>) -> User
pub fn default_with_username(username: impl Into<String>) -> User
Returns a default user with the given username.
pub fn effective_permissions<C>(
&self,
admin: &C,
inherit_permissions: &Permissions
) -> Result<Permissions, Error>where
C: Connection,
pub fn effective_permissions<C>( &self, admin: &C, inherit_permissions: &Permissions ) -> Result<Permissions, Error>where C: Connection,
Calculates the effective permissions based on the groups and roles this user is assigned.
Trait Implementations§
§impl Collection for User
impl Collection for User
§type PrimaryKey = u64
type PrimaryKey = u64
The unique id type. Each document stored in a collection will be
uniquely identified by this type. Read more
§fn collection_name() -> CollectionName
fn collection_name() -> CollectionName
The unique name of this collection. Each collection must be uniquely
named within the
Schema
it is registered
within.§fn define_views(schema: &mut Schematic) -> Result<(), Error>
fn define_views(schema: &mut Schematic) -> Result<(), Error>
Defines all
View
s in this collection in schema
.§fn encryption_key() -> Option<KeyId>
fn encryption_key() -> Option<KeyId>
If a
KeyId
is returned, this collection will be stored encrypted
at-rest using the key specified.§impl DefaultSerialization for User
impl DefaultSerialization for User
§fn natural_id(&self) -> Option<Self::PrimaryKey>
fn natural_id(&self) -> Option<Self::PrimaryKey>
Returns the natural identifier of
contents
. This is called when
pushing values into a collection, before attempting to automatically
assign a unique id.§impl<'de> Deserialize<'de> for User
impl<'de> Deserialize<'de> for User
§fn deserialize<__D>(
__deserializer: __D
) -> Result<User, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>( __deserializer: __D ) -> Result<User, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl NamedCollection for User
impl NamedCollection for User
§type ByNameView = ByName
type ByNameView = ByName
The name view defined for the collection.
§fn load<'name, N, C>(
id: N,
connection: &C
) -> Result<Option<CollectionDocument<Self>>, Error>where
N: Nameable<'name, Self::PrimaryKey> + Send + Sync,
C: Connection,
Self: SerializedCollection + Sized + 'static,
fn load<'name, N, C>( id: N, connection: &C ) -> Result<Option<CollectionDocument<Self>>, Error>where N: Nameable<'name, Self::PrimaryKey> + Send + Sync, C: Connection, Self: SerializedCollection + Sized + 'static,
§fn load_async<'name, 'life0, 'async_trait, N, C>(
id: N,
connection: &'life0 C
) -> Pin<Box<dyn Future<Output = Result<Option<CollectionDocument<Self>>, Error>> + Send + 'async_trait, Global>>where
'name: 'async_trait,
'life0: 'async_trait,
Self: SerializedCollection + Sized + 'static + Send + 'async_trait,
N: 'async_trait + Nameable<'name, Self::PrimaryKey> + Send + Sync,
C: 'async_trait + AsyncConnection,
fn load_async<'name, 'life0, 'async_trait, N, C>( id: N, connection: &'life0 C ) -> Pin<Box<dyn Future<Output = Result<Option<CollectionDocument<Self>>, Error>> + Send + 'async_trait, Global>>where 'name: 'async_trait, 'life0: 'async_trait, Self: SerializedCollection + Sized + 'static + Send + 'async_trait, N: 'async_trait + Nameable<'name, Self::PrimaryKey> + Send + Sync, C: 'async_trait + AsyncConnection,
§fn entry<'name, N, C, 'connection>(
id: N,
connection: &'connection C
) -> Entry<'connection, 'name, C, Self, (), ()>where
N: Into<NamedReference<'name, Self::PrimaryKey>> + Send + Sync,
C: Connection,
Self: SerializedCollection + Sized,
fn entry<'name, N, C, 'connection>( id: N, connection: &'connection C ) -> Entry<'connection, 'name, C, Self, (), ()>where N: Into<NamedReference<'name, Self::PrimaryKey>> + Send + Sync, C: Connection, Self: SerializedCollection + Sized,
§fn entry_async<'name, N, C, 'connection>(
id: N,
connection: &'connection C
) -> AsyncEntry<'connection, 'name, C, Self, (), ()> ⓘwhere
N: Into<NamedReference<'name, Self::PrimaryKey>> + Send + Sync,
C: AsyncConnection,
Self: SerializedCollection + Sized,
fn entry_async<'name, N, C, 'connection>( id: N, connection: &'connection C ) -> AsyncEntry<'connection, 'name, C, Self, (), ()> ⓘwhere N: Into<NamedReference<'name, Self::PrimaryKey>> + Send + Sync, C: AsyncConnection, Self: SerializedCollection + Sized,
§fn load_document<'name, N, C>(
name: N,
connection: &C
) -> Result<Option<OwnedDocument>, Error>where
N: Nameable<'name, Self::PrimaryKey> + Send + Sync,
C: Connection,
Self: SerializedCollection + Sized,
fn load_document<'name, N, C>( name: N, connection: &C ) -> Result<Option<OwnedDocument>, Error>where N: Nameable<'name, Self::PrimaryKey> + Send + Sync, C: Connection, Self: SerializedCollection + Sized,
Loads a document from this collection by name, if applicable. Return
Ok(None)
if unsupported.§fn load_document_async<'name, 'life0, 'async_trait, N, C>(
name: N,
connection: &'life0 C
) -> Pin<Box<dyn Future<Output = Result<Option<OwnedDocument>, Error>> + Send + 'async_trait, Global>>where
'name: 'async_trait,
'life0: 'async_trait,
Self: SerializedCollection + Sized + Send + 'async_trait,
N: 'async_trait + Nameable<'name, Self::PrimaryKey> + Send + Sync,
C: 'async_trait + AsyncConnection,
fn load_document_async<'name, 'life0, 'async_trait, N, C>( name: N, connection: &'life0 C ) -> Pin<Box<dyn Future<Output = Result<Option<OwnedDocument>, Error>> + Send + 'async_trait, Global>>where 'name: 'async_trait, 'life0: 'async_trait, Self: SerializedCollection + Sized + Send + 'async_trait, N: 'async_trait + Nameable<'name, Self::PrimaryKey> + Send + Sync, C: 'async_trait + AsyncConnection,
Loads a document from this collection by name, if applicable. Return
Ok(None)
if unsupported.§fn delete_by_name<C>(name: &str, connection: &C) -> Result<bool, Error>where
C: Connection,
Self: SerializedCollection + Sized,
fn delete_by_name<C>(name: &str, connection: &C) -> Result<bool, Error>where C: Connection, Self: SerializedCollection + Sized,
Deletes a document by its name. Returns true if a document was deleted.
§fn delete_by_name_async<'life0, 'life1, 'async_trait, C>(
name: &'life0 str,
connection: &'life1 C
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: SerializedCollection + Sized + Send + 'async_trait,
C: 'async_trait + AsyncConnection,
fn delete_by_name_async<'life0, 'life1, 'async_trait, C>( name: &'life0 str, connection: &'life1 C ) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, Self: SerializedCollection + Sized + Send + 'async_trait, C: 'async_trait + AsyncConnection,
Deletes a document by its name. Returns true if a document was deleted.
§impl Serialize for User
impl Serialize for User
§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl RefUnwindSafe for User
impl Send for User
impl Sync for User
impl Unpin for User
impl UnwindSafe for User
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere T: 'a,
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> 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> Schema for Twhere
T: Collection + 'static,
impl<T> Schema for Twhere T: Collection + 'static,
§fn schema_name() -> SchemaName
fn schema_name() -> SchemaName
Returns the unique
SchemaName
for this schema.§impl<T> SerializedCollection for Twhere
T: DefaultSerialization + Serialize + DeserializeOwned,
impl<T> SerializedCollection for Twhere T: DefaultSerialization + Serialize + DeserializeOwned,
§fn format() -> <T as SerializedCollection>::Format
fn format() -> <T as SerializedCollection>::Format
Returns the configured instance of
Self::Format
.§fn natural_id(
contents: &<T as SerializedCollection>::Contents
) -> Option<<T as Collection>::PrimaryKey>
fn natural_id( contents: &<T as SerializedCollection>::Contents ) -> Option<<T as Collection>::PrimaryKey>
Returns the natural identifier of
contents
. This is called when
pushing values into a collection, before attempting to automatically
assign a unique id.§fn deserialize(data: &[u8]) -> Result<Self::Contents, Error>
fn deserialize(data: &[u8]) -> Result<Self::Contents, Error>
Deserialize
data
as Self::Contents
using this collection’s format.§fn document_contents<D>(doc: &D) -> Result<Self::Contents, Error>where
D: Document<Self>,
Self: Sized,
fn document_contents<D>(doc: &D) -> Result<Self::Contents, Error>where D: Document<Self>, Self: Sized,
Returns the deserialized contents of
doc
.§fn set_document_contents<D>(
doc: &mut D,
contents: Self::Contents
) -> Result<(), Error>where
D: Document<Self>,
Self: Sized,
fn set_document_contents<D>( doc: &mut D, contents: Self::Contents ) -> Result<(), Error>where D: Document<Self>, Self: Sized,
Sets the contents of
doc
to contents
.§fn serialize(item: &Self::Contents) -> Result<Vec<u8, Global>, Error>
fn serialize(item: &Self::Contents) -> Result<Vec<u8, Global>, Error>
Serialize
item
using this collection’s format.§fn get<C, PrimaryKey>(
id: &PrimaryKey,
connection: &C
) -> Result<Option<CollectionDocument<Self>>, Error>where
C: Connection,
PrimaryKey: KeyEncoding<Self::PrimaryKey>,
Self: Sized,
fn get<C, PrimaryKey>( id: &PrimaryKey, connection: &C ) -> Result<Option<CollectionDocument<Self>>, Error>where C: Connection, PrimaryKey: KeyEncoding<Self::PrimaryKey>, Self: Sized,
§fn get_async<'life0, 'life1, 'async_trait, C, PrimaryKey>(
id: &'life0 PrimaryKey,
connection: &'life1 C
) -> Pin<Box<dyn Future<Output = Result<Option<CollectionDocument<Self>>, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
C: AsyncConnection + 'async_trait,
PrimaryKey: KeyEncoding<Self::PrimaryKey> + 'async_trait,
Self: Sized + Send + 'async_trait,
fn get_async<'life0, 'life1, 'async_trait, C, PrimaryKey>( id: &'life0 PrimaryKey, connection: &'life1 C ) -> Pin<Box<dyn Future<Output = Result<Option<CollectionDocument<Self>>, Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, C: AsyncConnection + 'async_trait, PrimaryKey: KeyEncoding<Self::PrimaryKey> + 'async_trait, Self: Sized + Send + 'async_trait,
§fn get_multiple<'id, C, DocumentIds, PrimaryKey, I>(
ids: DocumentIds,
connection: &C
) -> Result<Vec<CollectionDocument<Self>, Global>, Error>where
C: Connection,
DocumentIds: IntoIterator<Item = &'id PrimaryKey, IntoIter = I> + Send + Sync,
I: Iterator<Item = &'id PrimaryKey> + Send + Sync,
PrimaryKey: KeyEncoding<Self::PrimaryKey> + 'id,
Self: Sized,
fn get_multiple<'id, C, DocumentIds, PrimaryKey, I>( ids: DocumentIds, connection: &C ) -> Result<Vec<CollectionDocument<Self>, Global>, Error>where C: Connection, DocumentIds: IntoIterator<Item = &'id PrimaryKey, IntoIter = I> + Send + Sync, I: Iterator<Item = &'id PrimaryKey> + Send + Sync, PrimaryKey: KeyEncoding<Self::PrimaryKey> + 'id, Self: Sized,
Retrieves all documents matching
ids
. Documents that are not found
are not returned, but no error will be generated. Read more§fn get_multiple_async<'id, 'life0, 'async_trait, C, DocumentIds, PrimaryKey, I>(
ids: DocumentIds,
connection: &'life0 C
) -> Pin<Box<dyn Future<Output = Result<Vec<CollectionDocument<Self>, Global>, Error>> + Send + 'async_trait, Global>>where
'id: 'async_trait,
'life0: 'async_trait,
C: AsyncConnection + 'async_trait,
DocumentIds: IntoIterator<Item = &'id PrimaryKey, IntoIter = I> + Send + Sync + 'async_trait,
I: Iterator<Item = &'id PrimaryKey> + Send + Sync + 'async_trait,
PrimaryKey: KeyEncoding<Self::PrimaryKey> + 'id + 'async_trait,
Self: Sized + Send + 'async_trait,
fn get_multiple_async<'id, 'life0, 'async_trait, C, DocumentIds, PrimaryKey, I>( ids: DocumentIds, connection: &'life0 C ) -> Pin<Box<dyn Future<Output = Result<Vec<CollectionDocument<Self>, Global>, Error>> + Send + 'async_trait, Global>>where 'id: 'async_trait, 'life0: 'async_trait, C: AsyncConnection + 'async_trait, DocumentIds: IntoIterator<Item = &'id PrimaryKey, IntoIter = I> + Send + Sync + 'async_trait, I: Iterator<Item = &'id PrimaryKey> + Send + Sync + 'async_trait, PrimaryKey: KeyEncoding<Self::PrimaryKey> + 'id + 'async_trait, Self: Sized + Send + 'async_trait,
Retrieves all documents matching
ids
. Documents that are not found
are not returned, but no error will be generated. Read more§fn list<'id, R, PrimaryKey, C>(
ids: R,
connection: &'id C
) -> List<'id, C, Self, PrimaryKey>where
R: Into<RangeRef<'id, Self::PrimaryKey, PrimaryKey>>,
C: Connection,
PrimaryKey: KeyEncoding<Self::PrimaryKey> + PartialEq<PrimaryKey> + 'id,
Self::PrimaryKey: Borrow<PrimaryKey> + PartialEq<PrimaryKey>,
Self: Sized,
fn list<'id, R, PrimaryKey, C>( ids: R, connection: &'id C ) -> List<'id, C, Self, PrimaryKey>where R: Into<RangeRef<'id, Self::PrimaryKey, PrimaryKey>>, C: Connection, PrimaryKey: KeyEncoding<Self::PrimaryKey> + PartialEq<PrimaryKey> + 'id, Self::PrimaryKey: Borrow<PrimaryKey> + PartialEq<PrimaryKey>, Self: Sized,
Retrieves all documents matching the range of
ids
. Read more§fn list_async<'id, R, PrimaryKey, C>(
ids: R,
connection: &'id C
) -> AsyncList<'id, C, Self, PrimaryKey> ⓘwhere
R: Into<RangeRef<'id, Self::PrimaryKey, PrimaryKey>>,
C: AsyncConnection,
PrimaryKey: KeyEncoding<Self::PrimaryKey> + PartialEq<PrimaryKey> + 'id + ?Sized,
Self::PrimaryKey: Borrow<PrimaryKey> + PartialEq<PrimaryKey>,
Self: Sized,
fn list_async<'id, R, PrimaryKey, C>( ids: R, connection: &'id C ) -> AsyncList<'id, C, Self, PrimaryKey> ⓘwhere R: Into<RangeRef<'id, Self::PrimaryKey, PrimaryKey>>, C: AsyncConnection, PrimaryKey: KeyEncoding<Self::PrimaryKey> + PartialEq<PrimaryKey> + 'id + ?Sized, Self::PrimaryKey: Borrow<PrimaryKey> + PartialEq<PrimaryKey>, Self: Sized,
Retrieves all documents matching the range of
ids
. Read more§fn list_with_prefix<'a, PrimaryKey, C>(
prefix: &'a PrimaryKey,
connection: &'a C
) -> List<'a, C, Self, PrimaryKey>where
C: Connection,
Self: Sized,
PrimaryKey: IntoPrefixRange<'a, Self::PrimaryKey> + KeyEncoding<Self::PrimaryKey> + PartialEq<PrimaryKey> + ?Sized,
Self::PrimaryKey: Borrow<PrimaryKey> + PartialEq<PrimaryKey>,
fn list_with_prefix<'a, PrimaryKey, C>( prefix: &'a PrimaryKey, connection: &'a C ) -> List<'a, C, Self, PrimaryKey>where C: Connection, Self: Sized, PrimaryKey: IntoPrefixRange<'a, Self::PrimaryKey> + KeyEncoding<Self::PrimaryKey> + PartialEq<PrimaryKey> + ?Sized, Self::PrimaryKey: Borrow<PrimaryKey> + PartialEq<PrimaryKey>,
Retrieves all documents with ids that start with
prefix
. Read more§fn list_with_prefix_async<'a, PrimaryKey, C>(
prefix: &'a PrimaryKey,
connection: &'a C
) -> AsyncList<'a, C, Self, PrimaryKey> ⓘwhere
C: AsyncConnection,
Self: Sized,
PrimaryKey: IntoPrefixRange<'a, Self::PrimaryKey> + KeyEncoding<Self::PrimaryKey> + PartialEq<PrimaryKey> + ?Sized,
Self::PrimaryKey: Borrow<PrimaryKey> + PartialEq<PrimaryKey>,
fn list_with_prefix_async<'a, PrimaryKey, C>( prefix: &'a PrimaryKey, connection: &'a C ) -> AsyncList<'a, C, Self, PrimaryKey> ⓘwhere C: AsyncConnection, Self: Sized, PrimaryKey: IntoPrefixRange<'a, Self::PrimaryKey> + KeyEncoding<Self::PrimaryKey> + PartialEq<PrimaryKey> + ?Sized, Self::PrimaryKey: Borrow<PrimaryKey> + PartialEq<PrimaryKey>,
Retrieves all documents with ids that start with
prefix
. Read more§fn all<C>(connection: &C) -> List<'_, C, Self, Self::PrimaryKey>where
C: Connection,
Self: Sized,
fn all<C>(connection: &C) -> List<'_, C, Self, Self::PrimaryKey>where C: Connection, Self: Sized,
Retrieves all documents. Read more
§fn all_async<C>(connection: &C) -> AsyncList<'_, C, Self, Self::PrimaryKey> ⓘwhere
C: AsyncConnection,
Self: Sized,
fn all_async<C>(connection: &C) -> AsyncList<'_, C, Self, Self::PrimaryKey> ⓘwhere C: AsyncConnection, Self: Sized,
Retrieves all documents. Read more
§fn push<Cn>(
contents: Self::Contents,
connection: &Cn
) -> Result<CollectionDocument<Self>, InsertError<Self::Contents>>where
Cn: Connection,
Self: Sized + 'static,
fn push<Cn>( contents: Self::Contents, connection: &Cn ) -> Result<CollectionDocument<Self>, InsertError<Self::Contents>>where Cn: Connection, Self: Sized + 'static,
Pushes this value into the collection, returning the created document.
This function is useful when
Self != Self::Contents
. Read more§fn push_async<'life0, 'async_trait, Cn>(
contents: Self::Contents,
connection: &'life0 Cn
) -> Pin<Box<dyn Future<Output = Result<CollectionDocument<Self>, InsertError<Self::Contents>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
Self: Sized + 'static + Send + 'async_trait,
Self::Contents: 'async_trait,
Cn: 'async_trait + AsyncConnection,
fn push_async<'life0, 'async_trait, Cn>( contents: Self::Contents, connection: &'life0 Cn ) -> Pin<Box<dyn Future<Output = Result<CollectionDocument<Self>, InsertError<Self::Contents>>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, Self: Sized + 'static + Send + 'async_trait, Self::Contents: 'async_trait, Cn: 'async_trait + AsyncConnection,
Pushes this value into the collection, returning the created document.
This function is useful when
Self != Self::Contents
. Read more§fn push_all<Contents, Cn>(
contents: Contents,
connection: &Cn
) -> Result<Vec<CollectionDocument<Self>, Global>, Error>where
Contents: IntoIterator<Item = Self::Contents>,
Cn: Connection,
Self: Sized + 'static,
Self::PrimaryKey: Default,
fn push_all<Contents, Cn>( contents: Contents, connection: &Cn ) -> Result<Vec<CollectionDocument<Self>, Global>, Error>where Contents: IntoIterator<Item = Self::Contents>, Cn: Connection, Self: Sized + 'static, Self::PrimaryKey: Default,
Pushes all
contents
in a single transaction. If successful, all
collection documents will be returned. If an error occurs during this
operation, no documents will be pushed. Read more§fn push_all_async<'life0, 'async_trait, Contents, Cn>(
contents: Contents,
connection: &'life0 Cn
) -> Pin<Box<dyn Future<Output = Result<Vec<CollectionDocument<Self>, Global>, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
Self: Sized + 'static + Send + 'async_trait,
Self::PrimaryKey: Default,
<Contents as IntoIterator>::IntoIter: Send,
Contents: 'async_trait + IntoIterator<Item = Self::Contents> + Send,
Cn: 'async_trait + AsyncConnection,
fn push_all_async<'life0, 'async_trait, Contents, Cn>( contents: Contents, connection: &'life0 Cn ) -> Pin<Box<dyn Future<Output = Result<Vec<CollectionDocument<Self>, Global>, Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, Self: Sized + 'static + Send + 'async_trait, Self::PrimaryKey: Default, <Contents as IntoIterator>::IntoIter: Send, Contents: 'async_trait + IntoIterator<Item = Self::Contents> + Send, Cn: 'async_trait + AsyncConnection,
Pushes all
contents
in a single transaction. If successful, all
collection documents will be returned. If an error occurs during this
operation, no documents will be pushed. Read more§fn push_into<Cn>(
self,
connection: &Cn
) -> Result<CollectionDocument<Self>, InsertError<Self>>where
Cn: Connection,
Self: SerializedCollection<Contents = Self> + Sized + 'static,
fn push_into<Cn>( self, connection: &Cn ) -> Result<CollectionDocument<Self>, InsertError<Self>>where Cn: Connection, Self: SerializedCollection<Contents = Self> + Sized + 'static,
Pushes this value into the collection, returning the created document. Read more
§fn push_into_async<'life0, 'async_trait, Cn>(
self,
connection: &'life0 Cn
) -> Pin<Box<dyn Future<Output = Result<CollectionDocument<Self>, InsertError<Self>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
Self: SerializedCollection<Contents = Self> + Sized + 'static + Send + 'async_trait,
Cn: 'async_trait + AsyncConnection,
fn push_into_async<'life0, 'async_trait, Cn>( self, connection: &'life0 Cn ) -> Pin<Box<dyn Future<Output = Result<CollectionDocument<Self>, InsertError<Self>>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, Self: SerializedCollection<Contents = Self> + Sized + 'static + Send + 'async_trait, Cn: 'async_trait + AsyncConnection,
Pushes this value into the collection, returning the created document. Read more
§fn push_in_transaction(
&self,
transaction: &mut Transaction
) -> Result<(), Error>where
Self: SerializedCollection<Contents = Self> + Sized + 'static,
fn push_in_transaction( &self, transaction: &mut Transaction ) -> Result<(), Error>where Self: SerializedCollection<Contents = Self> + Sized + 'static,
§fn insert<PrimaryKey, Cn>(
id: &PrimaryKey,
contents: Self::Contents,
connection: &Cn
) -> Result<CollectionDocument<Self>, InsertError<Self::Contents>>where
PrimaryKey: KeyEncoding<Self::PrimaryKey>,
Cn: Connection,
Self: Sized + 'static,
fn insert<PrimaryKey, Cn>( id: &PrimaryKey, contents: Self::Contents, connection: &Cn ) -> Result<CollectionDocument<Self>, InsertError<Self::Contents>>where PrimaryKey: KeyEncoding<Self::PrimaryKey>, Cn: Connection, Self: Sized + 'static,
Inserts this value into the collection with the specified id, returning
the created document. Read more
§fn insert_async<'life0, 'life1, 'async_trait, PrimaryKey, Cn>(
id: &'life0 PrimaryKey,
contents: Self::Contents,
connection: &'life1 Cn
) -> Pin<Box<dyn Future<Output = Result<CollectionDocument<Self>, InsertError<Self::Contents>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
PrimaryKey: KeyEncoding<Self::PrimaryKey> + 'async_trait,
Cn: AsyncConnection + 'async_trait,
Self: Sized + 'static + Send + 'async_trait,
Self::Contents: 'async_trait,
fn insert_async<'life0, 'life1, 'async_trait, PrimaryKey, Cn>( id: &'life0 PrimaryKey, contents: Self::Contents, connection: &'life1 Cn ) -> Pin<Box<dyn Future<Output = Result<CollectionDocument<Self>, InsertError<Self::Contents>>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, PrimaryKey: KeyEncoding<Self::PrimaryKey> + 'async_trait, Cn: AsyncConnection + 'async_trait, Self: Sized + 'static + Send + 'async_trait, Self::Contents: 'async_trait,
Inserts this value into the collection with the specified id, returning
the created document. Read more
§fn insert_into<PrimaryKey, Cn>(
self,
id: &PrimaryKey,
connection: &Cn
) -> Result<CollectionDocument<Self>, InsertError<Self>>where
PrimaryKey: KeyEncoding<Self::PrimaryKey>,
Cn: Connection,
Self: SerializedCollection<Contents = Self> + Sized + 'static,
fn insert_into<PrimaryKey, Cn>( self, id: &PrimaryKey, connection: &Cn ) -> Result<CollectionDocument<Self>, InsertError<Self>>where PrimaryKey: KeyEncoding<Self::PrimaryKey>, Cn: Connection, Self: SerializedCollection<Contents = Self> + Sized + 'static,
Inserts this value into the collection with the given
id
, returning
the created document. Read more§fn insert_into_async<'life0, 'life1, 'async_trait, PrimaryKey, Cn>(
self,
id: &'life0 PrimaryKey,
connection: &'life1 Cn
) -> Pin<Box<dyn Future<Output = Result<CollectionDocument<Self>, InsertError<Self>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
PrimaryKey: KeyEncoding<Self::PrimaryKey> + 'async_trait,
Cn: AsyncConnection + 'async_trait,
Self: SerializedCollection<Contents = Self> + Sized + 'static + Send + 'async_trait,
fn insert_into_async<'life0, 'life1, 'async_trait, PrimaryKey, Cn>( self, id: &'life0 PrimaryKey, connection: &'life1 Cn ) -> Pin<Box<dyn Future<Output = Result<CollectionDocument<Self>, InsertError<Self>>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, PrimaryKey: KeyEncoding<Self::PrimaryKey> + 'async_trait, Cn: AsyncConnection + 'async_trait, Self: SerializedCollection<Contents = Self> + Sized + 'static + Send + 'async_trait,
Inserts this value into the collection with the given
id
, returning
the created document. Read more§fn insert_in_transaction(
&self,
key: &Self::PrimaryKey,
transaction: &mut Transaction
) -> Result<(), Error>where
Self: SerializedCollection<Contents = Self> + Sized + 'static,
fn insert_in_transaction( &self, key: &Self::PrimaryKey, transaction: &mut Transaction ) -> Result<(), Error>where Self: SerializedCollection<Contents = Self> + Sized + 'static,
§fn overwrite<PrimaryKey, Cn>(
id: &PrimaryKey,
contents: Self::Contents,
connection: &Cn
) -> Result<CollectionDocument<Self>, InsertError<Self::Contents>>where
PrimaryKey: KeyEncoding<Self::PrimaryKey>,
Cn: Connection,
Self: Sized + 'static,
fn overwrite<PrimaryKey, Cn>( id: &PrimaryKey, contents: Self::Contents, connection: &Cn ) -> Result<CollectionDocument<Self>, InsertError<Self::Contents>>where PrimaryKey: KeyEncoding<Self::PrimaryKey>, Cn: Connection, Self: Sized + 'static,
Overwrites this value into the collection with the specified id, returning
the created or updated document. Read more
§fn overwrite_async<'life0, 'life1, 'async_trait, PrimaryKey, Cn>(
id: &'life0 PrimaryKey,
contents: Self::Contents,
connection: &'life1 Cn
) -> Pin<Box<dyn Future<Output = Result<CollectionDocument<Self>, InsertError<Self::Contents>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
PrimaryKey: KeyEncoding<Self::PrimaryKey> + 'async_trait,
Cn: AsyncConnection + 'async_trait,
Self: Sized + 'static + Send + 'async_trait,
Self::Contents: 'async_trait,
fn overwrite_async<'life0, 'life1, 'async_trait, PrimaryKey, Cn>( id: &'life0 PrimaryKey, contents: Self::Contents, connection: &'life1 Cn ) -> Pin<Box<dyn Future<Output = Result<CollectionDocument<Self>, InsertError<Self::Contents>>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, PrimaryKey: KeyEncoding<Self::PrimaryKey> + 'async_trait, Cn: AsyncConnection + 'async_trait, Self: Sized + 'static + Send + 'async_trait, Self::Contents: 'async_trait,
Overwrites this value into the collection with the specified id, returning
the created or updated document. Read more
§fn overwrite_into<Cn, PrimaryKey>(
self,
id: &PrimaryKey,
connection: &Cn
) -> Result<CollectionDocument<Self>, InsertError<Self>>where
Cn: Connection,
PrimaryKey: KeyEncoding<Self::PrimaryKey>,
Self: SerializedCollection<Contents = Self> + Sized + 'static,
fn overwrite_into<Cn, PrimaryKey>( self, id: &PrimaryKey, connection: &Cn ) -> Result<CollectionDocument<Self>, InsertError<Self>>where Cn: Connection, PrimaryKey: KeyEncoding<Self::PrimaryKey>, Self: SerializedCollection<Contents = Self> + Sized + 'static,
Overwrites this value into the collection with the given
id
, returning
the created or updated document. Read more§fn overwrite_in_transaction<PrimaryKey>(
&self,
id: &PrimaryKey,
transaction: &mut Transaction
) -> Result<(), Error>where
PrimaryKey: KeyEncoding<Self::PrimaryKey>,
Self: SerializedCollection<Contents = Self> + Sized + 'static,
fn overwrite_in_transaction<PrimaryKey>( &self, id: &PrimaryKey, transaction: &mut Transaction ) -> Result<(), Error>where PrimaryKey: KeyEncoding<Self::PrimaryKey>, Self: SerializedCollection<Contents = Self> + Sized + 'static,
§fn overwrite_into_async<'life0, 'life1, 'async_trait, Cn, PrimaryKey>(
self,
id: &'life0 PrimaryKey,
connection: &'life1 Cn
) -> Pin<Box<dyn Future<Output = Result<CollectionDocument<Self>, InsertError<Self>>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
PrimaryKey: KeyEncoding<Self::PrimaryKey> + 'async_trait,
Self: SerializedCollection<Contents = Self> + Sized + 'static + Send + 'async_trait,
Cn: 'async_trait + AsyncConnection,
fn overwrite_into_async<'life0, 'life1, 'async_trait, Cn, PrimaryKey>( self, id: &'life0 PrimaryKey, connection: &'life1 Cn ) -> Pin<Box<dyn Future<Output = Result<CollectionDocument<Self>, InsertError<Self>>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, PrimaryKey: KeyEncoding<Self::PrimaryKey> + 'async_trait, Self: SerializedCollection<Contents = Self> + Sized + 'static + Send + 'async_trait, Cn: 'async_trait + AsyncConnection,
Overwrites this value into the collection with the given
id
, returning
the created or updated document. Read more