pub struct PersistedMlsGroup {
pub id: Vec<u8>,
pub state: Vec<u8>,
pub parent_id: Option<Vec<u8>>,
}Expand description
Entity representing a persisted MlsGroup
Fields§
§id: Vec<u8>§state: Vec<u8>§parent_id: Option<Vec<u8>>Implementations§
Source§impl PersistedMlsGroup
impl PersistedMlsGroup
Sourcepub async fn parent_group(
&self,
conn: &mut <Self as EntityBase>::ConnectionType,
) -> CryptoKeystoreResult<Option<Self>>
pub async fn parent_group( &self, conn: &mut <Self as EntityBase>::ConnectionType, ) -> CryptoKeystoreResult<Option<Self>>
Get the parent group of this group.
Sourcepub async fn child_groups(
&self,
conn: &mut <Self as EntityBase>::ConnectionType,
) -> CryptoKeystoreResult<Vec<Self>>
pub async fn child_groups( &self, conn: &mut <Self as EntityBase>::ConnectionType, ) -> CryptoKeystoreResult<Vec<Self>>
Get all children of this group.
Trait Implementations§
Source§impl BorrowPrimaryKey for PersistedMlsGroup
impl BorrowPrimaryKey for PersistedMlsGroup
type BorrowedPrimaryKey = [u8]
Source§fn borrow_primary_key(&self) -> &Self::BorrowedPrimaryKey
fn borrow_primary_key(&self) -> &Self::BorrowedPrimaryKey
Borrow this entity’s primary key without copying any data. Read more
Source§impl Clone for PersistedMlsGroup
impl Clone for PersistedMlsGroup
Source§fn clone(&self) -> PersistedMlsGroup
fn clone(&self) -> PersistedMlsGroup
Returns a duplicate of the value. Read more
1.0.0 · 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 PersistedMlsGroup
impl Debug for PersistedMlsGroup
Source§impl Decryptable<'static> for PersistedMlsGroup
impl Decryptable<'static> for PersistedMlsGroup
Source§impl<'de> Deserialize<'de> for PersistedMlsGroup
impl<'de> Deserialize<'de> for PersistedMlsGroup
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<'a> Encrypting<'a> for PersistedMlsGroup
impl<'a> Encrypting<'a> for PersistedMlsGroup
Source§type EncryptedForm = PersistedMlsGroupEncrypt<'a>
type EncryptedForm = PersistedMlsGroupEncrypt<'a>
This type must be serializable, but can depend on the lifetime of
self to reduce copying.Source§fn encrypt(
&'a self,
cipher: &Aes256Gcm,
) -> CryptoKeystoreResult<PersistedMlsGroupEncrypt<'_>>
fn encrypt( &'a self, cipher: &Aes256Gcm, ) -> CryptoKeystoreResult<PersistedMlsGroupEncrypt<'_>>
Make an instance of the encrypted form of this struct, for which all sensitive fields have been encrypted.
Source§impl Entity for PersistedMlsGroup
impl Entity for PersistedMlsGroup
Source§fn get<'life0, 'life1, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
key: &'life1 Self::PrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Option<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get<'life0, 'life1, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
key: &'life1 Self::PrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Option<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get an entity by its primary key. Read more
Source§fn count<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn count<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Count the number of entities of this type in the database.
Source§fn load_all<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Vec<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load_all<'life0, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Vec<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Retrieve all entities of this type from the database.
Source§impl EntityBase for PersistedMlsGroup
impl EntityBase for PersistedMlsGroup
Source§const COLLECTION_NAME: &'static str = "mls_groups"
const COLLECTION_NAME: &'static str = "mls_groups"
Beware: if you change the value of this constant on any WASM entity, you’ll need to do a data migration
not only because it is used as reference to the object store names but also for the value of the aad.
type ConnectionType = SqlCipherConnection
Source§type AutoGeneratedFields = ()
type AutoGeneratedFields = ()
Entities which implement
EntityDatabaseMutation have a pre_save method which might generate or
update some fields of the item. The canonical example is an updated_at field. Read morefn to_transaction_entity(self) -> Entity
fn downcast<T: EntityBase>(&self) -> Option<&T>
fn downcast_arc<T>(self: Arc<Self>) -> Option<Arc<T>>
Source§impl<'a> EntityDatabaseMutation<'a> for PersistedMlsGroup
impl<'a> EntityDatabaseMutation<'a> for PersistedMlsGroup
type Transaction = TransactionWrapper<'a>
Source§fn save<'life0, 'async_trait>(
&'a self,
tx: &'life0 Self::Transaction,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
fn save<'life0, 'async_trait>(
&'a self,
tx: &'life0 Self::Transaction,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
Use the transaction’s interface to save this entity to the database
Source§fn count<'life0, 'async_trait>(
tx: &'life0 Self::Transaction,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn count<'life0, 'async_trait>(
tx: &'life0 Self::Transaction,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<u32>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Use the transaction’s interface to count the number of entities of this type in the database.
Source§fn delete<'life0, 'life1, 'async_trait>(
tx: &'life0 Self::Transaction,
id: &'life1 Self::PrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete<'life0, 'life1, 'async_trait>(
tx: &'life0 Self::Transaction,
id: &'life1 Self::PrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<bool>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Use the transaction’s inteface to delete this entity from the database. Read more
Source§impl<'a> EntityDeleteBorrowed<'a> for PersistedMlsGroup
impl<'a> EntityDeleteBorrowed<'a> for PersistedMlsGroup
Source§fn delete_borrowed<'life0, 'life1, 'async_trait>(
tx: &'life0 <Self as EntityDatabaseMutation<'a>>::Transaction,
id: &'life1 <Self as BorrowPrimaryKey>::BorrowedPrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<bool>> + Send + 'async_trait>>where
for<'pk> &'pk <Self as BorrowPrimaryKey>::BorrowedPrimaryKey: KeyType,
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_borrowed<'life0, 'life1, 'async_trait>(
tx: &'life0 <Self as EntityDatabaseMutation<'a>>::Transaction,
id: &'life1 <Self as BorrowPrimaryKey>::BorrowedPrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<bool>> + Send + 'async_trait>>where
for<'pk> &'pk <Self as BorrowPrimaryKey>::BorrowedPrimaryKey: KeyType,
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Delete an entity by a borrowed form of its primary key.
Source§impl EntityGetBorrowed for PersistedMlsGroup
impl EntityGetBorrowed for PersistedMlsGroup
Source§fn get_borrowed<'life0, 'life1, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
key: &'life1 Self::BorrowedPrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Option<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_borrowed<'life0, 'life1, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
key: &'life1 Self::BorrowedPrimaryKey,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Option<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get an entity by a borrowed form of its primary key.
Source§impl PartialEq for PersistedMlsGroup
impl PartialEq for PersistedMlsGroup
Source§impl PrimaryKey for PersistedMlsGroup
impl PrimaryKey for PersistedMlsGroup
Source§type PrimaryKey = Vec<u8>
type PrimaryKey = Vec<u8>
Each distinct
PrimaryKey uniquely identifies either 0 or 1 instance. Read moreSource§fn primary_key(&self) -> Self::PrimaryKey
fn primary_key(&self) -> Self::PrimaryKey
Get this entity’s primary key. Read more
Source§impl<'a> SearchableEntity<ParentGroupId<'a>> for PersistedMlsGroup
impl<'a> SearchableEntity<ParentGroupId<'a>> for PersistedMlsGroup
Source§fn find_all_matching<'life0, 'life1, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
parent_id: &'life1 ParentGroupId<'a>,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Vec<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn find_all_matching<'life0, 'life1, 'async_trait>(
conn: &'life0 mut Self::ConnectionType,
parent_id: &'life1 ParentGroupId<'a>,
) -> Pin<Box<dyn Future<Output = CryptoKeystoreResult<Vec<Self>>> + Send + 'async_trait>>where
Self: 'async_trait,
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Find all entities matching the search key. Read more
Source§impl Serialize for PersistedMlsGroup
impl Serialize for PersistedMlsGroup
Source§impl ToValue for PersistedMlsGroup
impl ToValue for PersistedMlsGroup
Source§impl Zeroize for PersistedMlsGroup
impl Zeroize for PersistedMlsGroup
impl Eq for PersistedMlsGroup
impl StructuralPartialEq for PersistedMlsGroup
Auto Trait Implementations§
impl Freeze for PersistedMlsGroup
impl RefUnwindSafe for PersistedMlsGroup
impl Send for PersistedMlsGroup
impl Sync for PersistedMlsGroup
impl Unpin for PersistedMlsGroup
impl UnwindSafe for PersistedMlsGroup
Blanket Implementations§
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,
Source§impl<E> DecryptData for Ewhere
E: Entity,
impl<E> DecryptData for Ewhere
E: Entity,
Source§fn decrypt_data(
cipher: &AesGcm<Aes256, UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>>,
primary_key: &<E as PrimaryKey>::PrimaryKey,
data: &[u8],
) -> Result<Vec<u8>, CryptoKeystoreError>
fn decrypt_data( cipher: &AesGcm<Aes256, UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>>, primary_key: &<E as PrimaryKey>::PrimaryKey, data: &[u8], ) -> Result<Vec<u8>, CryptoKeystoreError>
Decrypt some data, symmetrically to the process
encrypt_data uses.Source§impl<E> EncryptData for Ewhere
E: Entity,
impl<E> EncryptData for Ewhere
E: Entity,
§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<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<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.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