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: StringThe 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 
Views 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