Struct bonsaidb_client::AsyncRemoteDatabase
source · pub struct AsyncRemoteDatabase { /* private fields */ }
Expand description
A database on a remote server.
Implementations§
Methods from Deref<Target = AsyncClient>§
sourcepub async fn send_api_request<Api: Api>(
&self,
request: &Api
) -> Result<Api::Response, ApiError<Api::Error>>
pub async fn send_api_request<Api: Api>( &self, request: &Api ) -> Result<Api::Response, ApiError<Api::Error>>
Sends an api request
.
sourcepub fn effective_permissions(&self) -> Option<Permissions>
pub fn effective_permissions(&self) -> Option<Permissions>
Returns the current effective permissions for the client. Returns None if unauthenticated.
Trait Implementations§
source§impl AsyncConnection for AsyncRemoteDatabase
impl AsyncConnection for AsyncRemoteDatabase
§type Storage = AsyncClient
type Storage = AsyncClient
The [
AsyncStorageConnection
] type that is paired with this type.source§fn storage(&self) -> Self::Storage
fn storage(&self) -> Self::Storage
Returns the [
StorageConnection
] implementor that this database belongs
to.source§fn list_executed_transactions<'life0, 'async_trait>(
&'life0 self,
starting_id: Option<u64>,
result_limit: Option<u32>
) -> Pin<Box<dyn Future<Output = Result<Vec<Executed>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_executed_transactions<'life0, 'async_trait>( &'life0 self, starting_id: Option<u64>, result_limit: Option<u32> ) -> Pin<Box<dyn Future<Output = Result<Vec<Executed>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Lists executed transactions from this
Schema
. By default, a maximum of
1000 entries will be returned, but that limit can be overridden by
setting result_limit
. A hard limit of 100,000 results will be
returned. To begin listing after another known transaction_id
, pass
transaction_id + 1
into starting_id
.source§fn last_transaction_id<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Option<u64>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn last_transaction_id<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Option<u64>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Fetches the last transaction id that has been committed, if any.
source§fn compact<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn compact<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Compacts the entire database to reclaim unused disk space. Read more
source§fn compact_key_value_store<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn compact_key_value_store<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Compacts the key value store to reclaim unused disk space. Read more
§fn collection<C>(&self) -> AsyncCollection<'_, Self, C>where
C: Collection,
fn collection<C>(&self) -> AsyncCollection<'_, Self, C>where C: Collection,
Accesses a collection for the connected
Schema
.source§impl AsyncKeyValue for AsyncRemoteDatabase
impl AsyncKeyValue for AsyncRemoteDatabase
source§fn execute_key_operation<'life0, 'async_trait>(
&'life0 self,
op: KeyOperation
) -> Pin<Box<dyn Future<Output = Result<Output, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn execute_key_operation<'life0, 'async_trait>( &'life0 self, op: KeyOperation ) -> Pin<Box<dyn Future<Output = Result<Output, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Executes a single [
KeyOperation
].§fn set_key<S, V, 'a>(
&'a self,
key: S,
value: &'a V
) -> AsyncBuilder<'a, Self, V>where
S: Into<String>,
V: Serialize + Send + Sync,
fn set_key<S, V, 'a>( &'a self, key: S, value: &'a V ) -> AsyncBuilder<'a, Self, V>where S: Into<String>, V: Serialize + Send + Sync,
Sets
key
to value
. This function returns a builder that is also a
Future. Awaiting the builder will execute [Command::Set
] with the options
given.§fn set_binary_key<S, 'a>(
&'a self,
key: S,
bytes: &'a [u8]
) -> AsyncBuilder<'a, Self, ()>where
S: Into<String>,
fn set_binary_key<S, 'a>( &'a self, key: S, bytes: &'a [u8] ) -> AsyncBuilder<'a, Self, ()>where S: Into<String>,
Sets
key
to bytes
. This function returns a builder that is also
a Future. Awaiting the builder will execute [Command::Set
] with
the options given.§fn set_numeric_key<S, V>(&self, key: S, value: V) -> AsyncBuilder<'_, Self, ()>where
S: Into<String>,
V: Into<Numeric>,
fn set_numeric_key<S, V>(&self, key: S, value: V) -> AsyncBuilder<'_, Self, ()>where S: Into<String>, V: Into<Numeric>,
Sets
key
to value
. This stores the value as a Numeric
,
enabling atomic math operations to be performed on this key. This
function returns a builder that is also a Future. Awaiting the
builder will execute [Command::Set
] with the options given.§fn increment_key_by<S, V>(&self, key: S, value: V) -> AsyncBuilder<'_, Self, V>where
S: Into<String> + Send + Sync,
V: Into<Numeric> + TryFrom<Numeric, Error = IncompatibleTypeError> + Send + Sync,
fn increment_key_by<S, V>(&self, key: S, value: V) -> AsyncBuilder<'_, Self, V>where S: Into<String> + Send + Sync, V: Into<Numeric> + TryFrom<Numeric, Error = IncompatibleTypeError> + Send + Sync,
Increments
key
by value
. The value stored must be a Numeric
,
otherwise an error will be returned. The result of the increment
will be the value
’s type. For example, if the stored value is
currently a u64
, but value
is a f64
, the current value will be
converted to an f64
, and the stored value will be an f64
.§fn decrement_key_by<S, V>(&self, key: S, value: V) -> AsyncBuilder<'_, Self, V>where
S: Into<String> + Send + Sync,
V: Into<Numeric> + TryFrom<Numeric, Error = IncompatibleTypeError> + Send + Sync,
fn decrement_key_by<S, V>(&self, key: S, value: V) -> AsyncBuilder<'_, Self, V>where S: Into<String> + Send + Sync, V: Into<Numeric> + TryFrom<Numeric, Error = IncompatibleTypeError> + Send + Sync,
Decrements
key
by value
. The value stored must be a Numeric
,
otherwise an error will be returned. The result of the decrement
will be the value
’s type. For example, if the stored value is
currently a u64
, but value
is a f64
, the current value will be
converted to an f64
, and the stored value will be an f64
.§fn get_key<S>(&self, key: S) -> AsyncBuilder<'_, Self>where
S: Into<String>,
fn get_key<S>(&self, key: S) -> AsyncBuilder<'_, Self>where S: Into<String>,
Gets the value stored at
key
. This function returns a builder that is also a
Future. Awaiting the builder will execute [Command::Get
] with the options
given.§fn delete_key<'life0, 'async_trait, S>(
&'life0 self,
key: S
) -> Pin<Box<dyn Future<Output = Result<KeyStatus, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
S: 'async_trait + Into<String> + Send,
Self: 'async_trait,
fn delete_key<'life0, 'async_trait, S>( &'life0 self, key: S ) -> Pin<Box<dyn Future<Output = Result<KeyStatus, Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, S: 'async_trait + Into<String> + Send, Self: 'async_trait,
Deletes the value stored at
key
.§fn key_namespace(&self) -> Option<&str>
fn key_namespace(&self) -> Option<&str>
The current namespace.
§fn with_key_namespace(&self, namespace: &str) -> Namespaced<'_, Self>
fn with_key_namespace(&self, namespace: &str) -> Namespaced<'_, Self>
Access this Key-Value store within a namespace. When using the returned
[
Namespaced
] instance, all keys specified will be separated into their
own storage designated by namespace
.source§impl AsyncLowLevelConnection for AsyncRemoteDatabase
impl AsyncLowLevelConnection for AsyncRemoteDatabase
source§fn apply_transaction<'life0, 'async_trait>(
&'life0 self,
transaction: Transaction
) -> Pin<Box<dyn Future<Output = Result<Vec<OperationResult>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn apply_transaction<'life0, 'async_trait>( &'life0 self, transaction: Transaction ) -> Pin<Box<dyn Future<Output = Result<Vec<OperationResult>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
source§fn get_from_collection<'life0, 'life1, 'async_trait>(
&'life0 self,
id: DocumentId,
collection: &'life1 CollectionName
) -> Pin<Box<dyn Future<Output = Result<Option<OwnedDocument>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_from_collection<'life0, 'life1, 'async_trait>( &'life0 self, id: DocumentId, collection: &'life1 CollectionName ) -> Pin<Box<dyn Future<Output = Result<Option<OwnedDocument>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
source§fn get_multiple_from_collection<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
ids: &'life1 [DocumentId],
collection: &'life2 CollectionName
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedDocument>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_multiple_from_collection<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, ids: &'life1 [DocumentId], collection: &'life2 CollectionName ) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedDocument>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,
Retrieves all documents matching
ids
from the named collection
.
Documents that are not found are not returned, but no error will be
generated. Read moresource§fn list_from_collection<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: Range<DocumentId>,
order: Sort,
limit: Option<u32>,
collection: &'life1 CollectionName
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedDocument>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_from_collection<'life0, 'life1, 'async_trait>( &'life0 self, ids: Range<DocumentId>, order: Sort, limit: Option<u32>, collection: &'life1 CollectionName ) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedDocument>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Retrieves all documents within the range of
ids
from the named
collection
. To retrieve all documents, pass in ..
for ids
. Read moresource§fn list_headers_from_collection<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: Range<DocumentId>,
order: Sort,
limit: Option<u32>,
collection: &'life1 CollectionName
) -> Pin<Box<dyn Future<Output = Result<Vec<Header>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn list_headers_from_collection<'life0, 'life1, 'async_trait>( &'life0 self, ids: Range<DocumentId>, order: Sort, limit: Option<u32>, collection: &'life1 CollectionName ) -> Pin<Box<dyn Future<Output = Result<Vec<Header>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Retrieves all headers within the range of
ids
from the named
collection
. To retrieve all documents, pass in ..
for ids
. Read moresource§fn count_from_collection<'life0, 'life1, 'async_trait>(
&'life0 self,
ids: Range<DocumentId>,
collection: &'life1 CollectionName
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn count_from_collection<'life0, 'life1, 'async_trait>( &'life0 self, ids: Range<DocumentId>, collection: &'life1 CollectionName ) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
source§fn compact_collection_by_name<'life0, 'async_trait>(
&'life0 self,
collection: CollectionName
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn compact_collection_by_name<'life0, 'async_trait>( &'life0 self, collection: CollectionName ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Compacts the collection to reclaim unused disk space. Read more
source§fn query_by_name<'life0, 'life1, 'async_trait>(
&'life0 self,
view: &'life1 ViewName,
key: Option<SerializedQueryKey>,
order: Sort,
limit: Option<u32>,
access_policy: AccessPolicy
) -> Pin<Box<dyn Future<Output = Result<Vec<Serialized>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn query_by_name<'life0, 'life1, 'async_trait>( &'life0 self, view: &'life1 ViewName, key: Option<SerializedQueryKey>, order: Sort, limit: Option<u32>, access_policy: AccessPolicy ) -> Pin<Box<dyn Future<Output = Result<Vec<Serialized>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Queries for view entries from the named
view
. Read moresource§fn query_by_name_with_docs<'life0, 'life1, 'async_trait>(
&'life0 self,
view: &'life1 ViewName,
key: Option<SerializedQueryKey>,
order: Sort,
limit: Option<u32>,
access_policy: AccessPolicy
) -> Pin<Box<dyn Future<Output = Result<MappedSerializedDocuments, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn query_by_name_with_docs<'life0, 'life1, 'async_trait>( &'life0 self, view: &'life1 ViewName, key: Option<SerializedQueryKey>, order: Sort, limit: Option<u32>, access_policy: AccessPolicy ) -> Pin<Box<dyn Future<Output = Result<MappedSerializedDocuments, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Queries for view entries from the named
view
with their source
documents. Read moresource§fn reduce_by_name<'life0, 'life1, 'async_trait>(
&'life0 self,
view: &'life1 ViewName,
key: Option<SerializedQueryKey>,
access_policy: AccessPolicy
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn reduce_by_name<'life0, 'life1, 'async_trait>( &'life0 self, view: &'life1 ViewName, key: Option<SerializedQueryKey>, access_policy: AccessPolicy ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Reduces the view entries from the named
view
. Read moresource§fn reduce_grouped_by_name<'life0, 'life1, 'async_trait>(
&'life0 self,
view: &'life1 ViewName,
key: Option<SerializedQueryKey>,
access_policy: AccessPolicy
) -> Pin<Box<dyn Future<Output = Result<Vec<MappedSerializedValue>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn reduce_grouped_by_name<'life0, 'life1, 'async_trait>( &'life0 self, view: &'life1 ViewName, key: Option<SerializedQueryKey>, access_policy: AccessPolicy ) -> Pin<Box<dyn Future<Output = Result<Vec<MappedSerializedValue>, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Reduces the view entries from the named
view
, reducing the values by each
unique key. Read moresource§fn delete_docs_by_name<'life0, 'life1, 'async_trait>(
&'life0 self,
view: &'life1 ViewName,
key: Option<SerializedQueryKey>,
access_policy: AccessPolicy
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn delete_docs_by_name<'life0, 'life1, 'async_trait>( &'life0 self, view: &'life1 ViewName, key: Option<SerializedQueryKey>, access_policy: AccessPolicy ) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,
Deletes all source documents for entries that match within the named
view
. Read more§fn insert<'life0, 'life1, 'async_trait, C, PrimaryKey, B>(
&'life0 self,
id: Option<&'life1 PrimaryKey>,
contents: B
) -> Pin<Box<dyn Future<Output = Result<CollectionHeader<<C as Collection>::PrimaryKey>, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
PrimaryKey: KeyEncoding<<C as Collection>::PrimaryKey> + 'async_trait + Send + ?Sized,
C: 'async_trait + Collection,
B: 'async_trait + Into<Bytes> + Send,
Self: 'async_trait,
fn insert<'life0, 'life1, 'async_trait, C, PrimaryKey, B>( &'life0 self, id: Option<&'life1 PrimaryKey>, contents: B ) -> Pin<Box<dyn Future<Output = Result<CollectionHeader<<C as Collection>::PrimaryKey>, Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, PrimaryKey: KeyEncoding<<C as Collection>::PrimaryKey> + 'async_trait + Send + ?Sized, C: 'async_trait + Collection, B: 'async_trait + Into<Bytes> + Send, Self: 'async_trait,
Inserts a newly created document into the connected [
schema::Schema
]
for the Collection
C
. If id
is None
a unique id will be
generated. If an id is provided and a document already exists with that
id, a conflict error will be returned. Read more§fn update<'life0, 'life1, 'async_trait, C, D>(
&'life0 self,
doc: &'life1 mut D
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
C: 'async_trait + Collection,
D: 'async_trait + Document<C> + Send + Sync,
Self: 'async_trait,
fn update<'life0, 'life1, 'async_trait, C, D>( &'life0 self, doc: &'life1 mut D ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, C: 'async_trait + Collection, D: 'async_trait + Document<C> + Send + Sync, Self: 'async_trait,
Updates an existing document in the connected [
schema::Schema
] for the
Collection
(schema::Collection) C
. Upon success, doc.revision
will be updated with the new revision. Read more§fn overwrite<'a, 'life0, 'life1, 'async_trait, C, PrimaryKey>(
&'life0 self,
id: &'life1 PrimaryKey,
contents: Vec<u8, Global>
) -> Pin<Box<dyn Future<Output = Result<CollectionHeader<<C as Collection>::PrimaryKey>, Error>> + Send + 'async_trait, Global>>where
'a: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
C: Collection + 'async_trait,
PrimaryKey: KeyEncoding<<C as Collection>::PrimaryKey> + 'async_trait,
Self: 'async_trait,
fn overwrite<'a, 'life0, 'life1, 'async_trait, C, PrimaryKey>( &'life0 self, id: &'life1 PrimaryKey, contents: Vec<u8, Global> ) -> Pin<Box<dyn Future<Output = Result<CollectionHeader<<C as Collection>::PrimaryKey>, Error>> + Send + 'async_trait, Global>>where 'a: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, C: Collection + 'async_trait, PrimaryKey: KeyEncoding<<C as Collection>::PrimaryKey> + 'async_trait, Self: 'async_trait,
Overwrites an existing document, or inserts a new document. Upon success,
doc.revision
will be updated with the new revision information. Read more§fn get<'life0, 'life1, 'async_trait, C, PrimaryKey>(
&'life0 self,
id: &'life1 PrimaryKey
) -> Pin<Box<dyn Future<Output = Result<Option<OwnedDocument>, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
C: Collection + 'async_trait,
PrimaryKey: KeyEncoding<<C as Collection>::PrimaryKey> + 'async_trait + ?Sized,
Self: 'async_trait,
fn get<'life0, 'life1, 'async_trait, C, PrimaryKey>( &'life0 self, id: &'life1 PrimaryKey ) -> Pin<Box<dyn Future<Output = Result<Option<OwnedDocument>, Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, C: Collection + 'async_trait, PrimaryKey: KeyEncoding<<C as Collection>::PrimaryKey> + 'async_trait + ?Sized, Self: 'async_trait,
§fn get_multiple<'id, 'life0, 'async_trait, C, PrimaryKey, DocumentIds, I>(
&'life0 self,
ids: DocumentIds
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedDocument, Global>, Error>> + Send + 'async_trait, Global>>where
'id: 'async_trait,
'life0: 'async_trait,
C: Collection + 'async_trait,
DocumentIds: IntoIterator<Item = &'id PrimaryKey, IntoIter = I> + Send + Sync + 'async_trait,
I: Iterator<Item = &'id PrimaryKey> + Send + Sync + 'async_trait,
PrimaryKey: KeyEncoding<<C as Collection>::PrimaryKey> + 'id + 'async_trait + ?Sized,
Self: 'async_trait,
fn get_multiple<'id, 'life0, 'async_trait, C, PrimaryKey, DocumentIds, I>( &'life0 self, ids: DocumentIds ) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedDocument, Global>, Error>> + Send + 'async_trait, Global>>where 'id: 'async_trait, 'life0: 'async_trait, C: Collection + 'async_trait, DocumentIds: IntoIterator<Item = &'id PrimaryKey, IntoIter = I> + Send + Sync + 'async_trait, I: Iterator<Item = &'id PrimaryKey> + Send + Sync + 'async_trait, PrimaryKey: KeyEncoding<<C as Collection>::PrimaryKey> + 'id + 'async_trait + ?Sized, Self: '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, 'life0, 'async_trait, C, R, PrimaryKey>(
&'life0 self,
ids: R,
order: Sort,
limit: Option<u32>
) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedDocument, Global>, Error>> + Send + 'async_trait, Global>>where
'id: 'async_trait,
'life0: 'async_trait,
C: Collection + 'async_trait,
R: Into<RangeRef<'id, <C as Collection>::PrimaryKey, PrimaryKey>> + Send + 'async_trait,
PrimaryKey: KeyEncoding<<C as Collection>::PrimaryKey> + PartialEq<PrimaryKey> + 'id + 'async_trait + ?Sized,
<C as Collection>::PrimaryKey: Borrow<PrimaryKey> + PartialEq<PrimaryKey>,
Self: 'async_trait,
fn list<'id, 'life0, 'async_trait, C, R, PrimaryKey>( &'life0 self, ids: R, order: Sort, limit: Option<u32> ) -> Pin<Box<dyn Future<Output = Result<Vec<OwnedDocument, Global>, Error>> + Send + 'async_trait, Global>>where 'id: 'async_trait, 'life0: 'async_trait, C: Collection + 'async_trait, R: Into<RangeRef<'id, <C as Collection>::PrimaryKey, PrimaryKey>> + Send + 'async_trait, PrimaryKey: KeyEncoding<<C as Collection>::PrimaryKey> + PartialEq<PrimaryKey> + 'id + 'async_trait + ?Sized, <C as Collection>::PrimaryKey: Borrow<PrimaryKey> + PartialEq<PrimaryKey>, Self: 'async_trait,
Retrieves all documents within the range of
ids
. To retrieve all
documents, pass in ..
for ids
. Read more§fn list_headers<'id, 'life0, 'async_trait, C, R, PrimaryKey>(
&'life0 self,
ids: R,
order: Sort,
limit: Option<u32>
) -> Pin<Box<dyn Future<Output = Result<Vec<Header, Global>, Error>> + Send + 'async_trait, Global>>where
'id: 'async_trait,
'life0: 'async_trait,
C: Collection + 'async_trait,
R: Into<RangeRef<'id, <C as Collection>::PrimaryKey, PrimaryKey>> + Send + 'async_trait,
PrimaryKey: KeyEncoding<<C as Collection>::PrimaryKey> + PartialEq<PrimaryKey> + 'id + 'async_trait + ?Sized,
<C as Collection>::PrimaryKey: Borrow<PrimaryKey> + PartialEq<PrimaryKey>,
Self: 'async_trait,
fn list_headers<'id, 'life0, 'async_trait, C, R, PrimaryKey>( &'life0 self, ids: R, order: Sort, limit: Option<u32> ) -> Pin<Box<dyn Future<Output = Result<Vec<Header, Global>, Error>> + Send + 'async_trait, Global>>where 'id: 'async_trait, 'life0: 'async_trait, C: Collection + 'async_trait, R: Into<RangeRef<'id, <C as Collection>::PrimaryKey, PrimaryKey>> + Send + 'async_trait, PrimaryKey: KeyEncoding<<C as Collection>::PrimaryKey> + PartialEq<PrimaryKey> + 'id + 'async_trait + ?Sized, <C as Collection>::PrimaryKey: Borrow<PrimaryKey> + PartialEq<PrimaryKey>, Self: 'async_trait,
Retrieves all documents within the range of
ids
. To retrieve all
documents, pass in ..
for ids
. Read more§fn count<'id, 'life0, 'async_trait, C, R, PrimaryKey>(
&'life0 self,
ids: R
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait, Global>>where
'id: 'async_trait,
'life0: 'async_trait,
C: Collection + 'async_trait,
R: Into<RangeRef<'id, <C as Collection>::PrimaryKey, PrimaryKey>> + Send + 'async_trait,
PrimaryKey: KeyEncoding<<C as Collection>::PrimaryKey> + PartialEq<PrimaryKey> + 'id + 'async_trait + ?Sized,
<C as Collection>::PrimaryKey: Borrow<PrimaryKey> + PartialEq<PrimaryKey>,
Self: 'async_trait,
fn count<'id, 'life0, 'async_trait, C, R, PrimaryKey>( &'life0 self, ids: R ) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait, Global>>where 'id: 'async_trait, 'life0: 'async_trait, C: Collection + 'async_trait, R: Into<RangeRef<'id, <C as Collection>::PrimaryKey, PrimaryKey>> + Send + 'async_trait, PrimaryKey: KeyEncoding<<C as Collection>::PrimaryKey> + PartialEq<PrimaryKey> + 'id + 'async_trait + ?Sized, <C as Collection>::PrimaryKey: Borrow<PrimaryKey> + PartialEq<PrimaryKey>, Self: 'async_trait,
Counts the number of documents within the range of
ids
. Read more§fn delete<'life0, 'life1, 'async_trait, C, H>(
&'life0 self,
doc: &'life1 H
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
C: 'async_trait + Collection,
H: 'async_trait + HasHeader + Send + Sync,
Self: 'async_trait,
fn delete<'life0, 'life1, 'async_trait, C, H>( &'life0 self, doc: &'life1 H ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, C: 'async_trait + Collection, H: 'async_trait + HasHeader + Send + Sync, Self: 'async_trait,
Removes a
Document
from the database. Read more§fn query<'life0, 'life1, 'async_trait, V, Key>(
&'life0 self,
key: Option<QueryKey<'life1, <V as View>::Key, Key>>,
order: Sort,
limit: Option<u32>,
access_policy: AccessPolicy
) -> Pin<Box<dyn Future<Output = Result<Vec<CollectionMap<<<V as View>::Collection as Collection>::PrimaryKey, <V as View>::Key, <V as View>::Value>, Global>, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
Key: KeyEncoding<<V as View>::Key> + PartialEq<Key> + 'async_trait + ?Sized,
<V as View>::Key: Borrow<Key> + PartialEq<Key>,
V: 'async_trait + SerializedView,
Self: 'async_trait,
fn query<'life0, 'life1, 'async_trait, V, Key>( &'life0 self, key: Option<QueryKey<'life1, <V as View>::Key, Key>>, order: Sort, limit: Option<u32>, access_policy: AccessPolicy ) -> Pin<Box<dyn Future<Output = Result<Vec<CollectionMap<<<V as View>::Collection as Collection>::PrimaryKey, <V as View>::Key, <V as View>::Value>, Global>, Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, Key: KeyEncoding<<V as View>::Key> + PartialEq<Key> + 'async_trait + ?Sized, <V as View>::Key: Borrow<Key> + PartialEq<Key>, V: 'async_trait + SerializedView, Self: 'async_trait,
§fn query_with_docs<'life0, 'life1, 'async_trait, V, Key>(
&'life0 self,
key: Option<QueryKey<'life1, <V as View>::Key, Key>>,
order: Sort,
limit: Option<u32>,
access_policy: AccessPolicy
) -> Pin<Box<dyn Future<Output = Result<MappedDocuments<OwnedDocument, V>, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
Key: KeyEncoding<<V as View>::Key> + PartialEq<Key> + 'async_trait + ?Sized,
<V as View>::Key: Borrow<Key> + PartialEq<Key>,
V: 'async_trait + SerializedView,
Self: 'async_trait,
fn query_with_docs<'life0, 'life1, 'async_trait, V, Key>( &'life0 self, key: Option<QueryKey<'life1, <V as View>::Key, Key>>, order: Sort, limit: Option<u32>, access_policy: AccessPolicy ) -> Pin<Box<dyn Future<Output = Result<MappedDocuments<OwnedDocument, V>, Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, Key: KeyEncoding<<V as View>::Key> + PartialEq<Key> + 'async_trait + ?Sized, <V as View>::Key: Borrow<Key> + PartialEq<Key>, V: 'async_trait + SerializedView, Self: 'async_trait,
§fn query_with_collection_docs<'life0, 'life1, 'async_trait, V, Key>(
&'life0 self,
key: Option<QueryKey<'life1, <V as View>::Key, Key>>,
order: Sort,
limit: Option<u32>,
access_policy: AccessPolicy
) -> Pin<Box<dyn Future<Output = Result<MappedDocuments<CollectionDocument<<V as View>::Collection>, V>, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
Key: KeyEncoding<<V as View>::Key> + PartialEq<Key> + 'async_trait + ?Sized,
<V as View>::Key: Borrow<Key> + PartialEq<Key>,
V: SerializedView + 'async_trait,
<V as View>::Collection: SerializedCollection,
<<V as View>::Collection as SerializedCollection>::Contents: Debug,
Self: 'async_trait,
fn query_with_collection_docs<'life0, 'life1, 'async_trait, V, Key>( &'life0 self, key: Option<QueryKey<'life1, <V as View>::Key, Key>>, order: Sort, limit: Option<u32>, access_policy: AccessPolicy ) -> Pin<Box<dyn Future<Output = Result<MappedDocuments<CollectionDocument<<V as View>::Collection>, V>, Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, Key: KeyEncoding<<V as View>::Key> + PartialEq<Key> + 'async_trait + ?Sized, <V as View>::Key: Borrow<Key> + PartialEq<Key>, V: SerializedView + 'async_trait, <V as View>::Collection: SerializedCollection, <<V as View>::Collection as SerializedCollection>::Contents: Debug, Self: 'async_trait,
§fn reduce<'life0, 'life1, 'async_trait, V, Key>(
&'life0 self,
key: Option<QueryKey<'life1, <V as View>::Key, Key>>,
access_policy: AccessPolicy
) -> Pin<Box<dyn Future<Output = Result<<V as View>::Value, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
Key: KeyEncoding<<V as View>::Key> + PartialEq<Key> + 'async_trait + ?Sized,
<V as View>::Key: Borrow<Key> + PartialEq<Key>,
V: 'async_trait + SerializedView,
Self: 'async_trait,
fn reduce<'life0, 'life1, 'async_trait, V, Key>( &'life0 self, key: Option<QueryKey<'life1, <V as View>::Key, Key>>, access_policy: AccessPolicy ) -> Pin<Box<dyn Future<Output = Result<<V as View>::Value, Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, Key: KeyEncoding<<V as View>::Key> + PartialEq<Key> + 'async_trait + ?Sized, <V as View>::Key: Borrow<Key> + PartialEq<Key>, V: 'async_trait + SerializedView, Self: 'async_trait,
§fn reduce_grouped<'life0, 'life1, 'async_trait, V, Key>(
&'life0 self,
key: Option<QueryKey<'life1, <V as View>::Key, Key>>,
access_policy: AccessPolicy
) -> Pin<Box<dyn Future<Output = Result<Vec<MappedValue<<V as View>::Key, <V as View>::Value>, Global>, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
Key: KeyEncoding<<V as View>::Key> + PartialEq<Key> + 'async_trait + ?Sized,
<V as View>::Key: Borrow<Key> + PartialEq<Key>,
V: 'async_trait + SerializedView,
Self: 'async_trait,
fn reduce_grouped<'life0, 'life1, 'async_trait, V, Key>( &'life0 self, key: Option<QueryKey<'life1, <V as View>::Key, Key>>, access_policy: AccessPolicy ) -> Pin<Box<dyn Future<Output = Result<Vec<MappedValue<<V as View>::Key, <V as View>::Value>, Global>, Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, Key: KeyEncoding<<V as View>::Key> + PartialEq<Key> + 'async_trait + ?Sized, <V as View>::Key: Borrow<Key> + PartialEq<Key>, V: 'async_trait + SerializedView, Self: 'async_trait,
§fn delete_docs<'life0, 'life1, 'async_trait, V, Key>(
&'life0 self,
key: Option<QueryKey<'life1, <V as View>::Key, Key>>,
access_policy: AccessPolicy
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
Key: KeyEncoding<<V as View>::Key> + PartialEq<Key> + 'async_trait + ?Sized,
<V as View>::Key: Borrow<Key> + PartialEq<Key>,
V: 'async_trait + SerializedView,
Self: 'async_trait,
fn delete_docs<'life0, 'life1, 'async_trait, V, Key>( &'life0 self, key: Option<QueryKey<'life1, <V as View>::Key, Key>>, access_policy: AccessPolicy ) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, Key: KeyEncoding<<V as View>::Key> + PartialEq<Key> + 'async_trait + ?Sized, <V as View>::Key: Borrow<Key> + PartialEq<Key>, V: 'async_trait + SerializedView, Self: 'async_trait,
Deletes all of the documents associated with this view. Read more
source§impl AsyncPubSub for AsyncRemoteDatabase
impl AsyncPubSub for AsyncRemoteDatabase
§type Subscriber = AsyncRemoteSubscriber
type Subscriber = AsyncRemoteSubscriber
The Subscriber type for this
PubSub
connection.source§fn create_subscriber<'life0, 'async_trait>(
&'life0 self
) -> Pin<Box<dyn Future<Output = Result<Self::Subscriber, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn create_subscriber<'life0, 'async_trait>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Self::Subscriber, Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Create a new [
Subscriber
] for this relay.source§fn publish_bytes<'life0, 'async_trait>(
&'life0 self,
topic: Vec<u8>,
payload: Vec<u8>
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn publish_bytes<'life0, 'async_trait>( &'life0 self, topic: Vec<u8>, payload: Vec<u8> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Publishes a
payload
to all subscribers of topic
.source§fn publish_bytes_to_all<'life0, 'async_trait>(
&'life0 self,
topics: impl 'async_trait + IntoIterator<Item = Vec<u8>> + Send,
payload: Vec<u8>
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn publish_bytes_to_all<'life0, 'async_trait>( &'life0 self, topics: impl 'async_trait + IntoIterator<Item = Vec<u8>> + Send, payload: Vec<u8> ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where Self: 'async_trait, 'life0: 'async_trait,
Publishes a
payload
to all subscribers of all topics
.§fn publish<'life0, 'life1, 'life2, 'async_trait, Topic, Payload>(
&'life0 self,
topic: &'life1 Topic,
payload: &'life2 Payload
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Topic: 'async_trait + Serialize + Send + Sync,
Payload: 'async_trait + Serialize + Send + Sync,
Self: 'async_trait,
fn publish<'life0, 'life1, 'life2, 'async_trait, Topic, Payload>( &'life0 self, topic: &'life1 Topic, payload: &'life2 Payload ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, Topic: 'async_trait + Serialize + Send + Sync, Payload: 'async_trait + Serialize + Send + Sync, Self: 'async_trait,
Publishes a
payload
to all subscribers of topic
.§fn publish_to_all<'topics, 'life0, 'life1, 'async_trait, Topics, Topic, Payload>(
&'life0 self,
topics: Topics,
payload: &'life1 Payload
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where
'topics: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Topics: 'async_trait + IntoIterator<Item = &'topics Topic> + Send + 'topics,
Topic: 'async_trait + Serialize + Send + 'topics,
Payload: 'async_trait + Serialize + Send + Sync,
Self: 'async_trait,
fn publish_to_all<'topics, 'life0, 'life1, 'async_trait, Topics, Topic, Payload>( &'life0 self, topics: Topics, payload: &'life1 Payload ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait, Global>>where 'topics: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, Topics: 'async_trait + IntoIterator<Item = &'topics Topic> + Send + 'topics, Topic: 'async_trait + Serialize + Send + 'topics, Payload: 'async_trait + Serialize + Send + Sync, Self: 'async_trait,
Publishes a
payload
to all subscribers of all topics
.source§impl Clone for AsyncRemoteDatabase
impl Clone for AsyncRemoteDatabase
source§fn clone(&self) -> AsyncRemoteDatabase
fn clone(&self) -> AsyncRemoteDatabase
Returns a copy 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 AsyncRemoteDatabase
impl Debug for AsyncRemoteDatabase
source§impl Deref for AsyncRemoteDatabase
impl Deref for AsyncRemoteDatabase
source§impl HasSchema for AsyncRemoteDatabase
impl HasSchema for AsyncRemoteDatabase
source§impl HasSession for AsyncRemoteDatabase
impl HasSession for AsyncRemoteDatabase
§fn allowed_to<'a, R, P>(&self, resource_name: R, action: &P) -> boolwhere
R: AsRef<[Identifier<'a>]>,
P: Action,
fn allowed_to<'a, R, P>(&self, resource_name: R, action: &P) -> boolwhere R: AsRef<[Identifier<'a>]>, P: Action,
Checks if
action
is permitted against resource_name
.§fn check_permission<'a, R, P>(
&self,
resource_name: R,
action: &P
) -> Result<(), Error>where
R: AsRef<[Identifier<'a>]>,
P: Action,
fn check_permission<'a, R, P>( &self, resource_name: R, action: &P ) -> Result<(), Error>where R: AsRef<[Identifier<'a>]>, P: Action,
Checks if
action
is permitted against resource_name
. If permission
is denied, returns a PermissionDenied
error.Auto Trait Implementations§
impl !RefUnwindSafe for AsyncRemoteDatabase
impl Send for AsyncRemoteDatabase
impl Sync for AsyncRemoteDatabase
impl Unpin for AsyncRemoteDatabase
impl !UnwindSafe for AsyncRemoteDatabase
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