Struct google_api_proto::google::firestore::v1::firestore_client::FirestoreClient
source · pub struct FirestoreClient<T> { /* private fields */ }
Expand description
The Cloud Firestore service.
Cloud Firestore is a fast, fully managed, serverless, cloud-native NoSQL document database that simplifies storing, syncing, and querying data for your mobile, web, and IoT apps at global scale. Its client libraries provide live synchronization and offline support, while its security features and integrations with Firebase and Google Cloud Platform accelerate building truly serverless apps.
Implementations§
source§impl<T> FirestoreClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
impl<T> FirestoreClient<T>where
T: GrpcService<BoxBody>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + Send,
pub fn new(inner: T) -> Self
pub fn with_origin(inner: T, origin: Uri) -> Self
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> FirestoreClient<InterceptedService<T, F>>where
F: Interceptor,
T::ResponseBody: Default,
T: Service<Request<BoxBody>, Response = Response<<T as GrpcService<BoxBody>>::ResponseBody>>,
<T as Service<Request<BoxBody>>>::Error: Into<StdError> + Send + Sync,
sourcepub fn send_compressed(self, encoding: CompressionEncoding) -> Self
pub fn send_compressed(self, encoding: CompressionEncoding) -> Self
Compress requests with the given encoding.
This requires the server to support it otherwise it might respond with an error.
sourcepub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
pub fn accept_compressed(self, encoding: CompressionEncoding) -> Self
Enable decompressing responses.
sourcepub fn max_decoding_message_size(self, limit: usize) -> Self
pub fn max_decoding_message_size(self, limit: usize) -> Self
Limits the maximum size of a decoded message.
Default: 4MB
sourcepub fn max_encoding_message_size(self, limit: usize) -> Self
pub fn max_encoding_message_size(self, limit: usize) -> Self
Limits the maximum size of an encoded message.
Default: usize::MAX
sourcepub async fn get_document(
&mut self,
request: impl IntoRequest<GetDocumentRequest>,
) -> Result<Response<Document>, Status>
pub async fn get_document( &mut self, request: impl IntoRequest<GetDocumentRequest>, ) -> Result<Response<Document>, Status>
Gets a single document.
sourcepub async fn list_documents(
&mut self,
request: impl IntoRequest<ListDocumentsRequest>,
) -> Result<Response<ListDocumentsResponse>, Status>
pub async fn list_documents( &mut self, request: impl IntoRequest<ListDocumentsRequest>, ) -> Result<Response<ListDocumentsResponse>, Status>
Lists documents.
sourcepub async fn update_document(
&mut self,
request: impl IntoRequest<UpdateDocumentRequest>,
) -> Result<Response<Document>, Status>
pub async fn update_document( &mut self, request: impl IntoRequest<UpdateDocumentRequest>, ) -> Result<Response<Document>, Status>
Updates or inserts a document.
sourcepub async fn delete_document(
&mut self,
request: impl IntoRequest<DeleteDocumentRequest>,
) -> Result<Response<()>, Status>
pub async fn delete_document( &mut self, request: impl IntoRequest<DeleteDocumentRequest>, ) -> Result<Response<()>, Status>
Deletes a document.
sourcepub async fn batch_get_documents(
&mut self,
request: impl IntoRequest<BatchGetDocumentsRequest>,
) -> Result<Response<Streaming<BatchGetDocumentsResponse>>, Status>
pub async fn batch_get_documents( &mut self, request: impl IntoRequest<BatchGetDocumentsRequest>, ) -> Result<Response<Streaming<BatchGetDocumentsResponse>>, Status>
Gets multiple documents.
Documents returned by this method are not guaranteed to be returned in the same order that they were requested.
sourcepub async fn begin_transaction(
&mut self,
request: impl IntoRequest<BeginTransactionRequest>,
) -> Result<Response<BeginTransactionResponse>, Status>
pub async fn begin_transaction( &mut self, request: impl IntoRequest<BeginTransactionRequest>, ) -> Result<Response<BeginTransactionResponse>, Status>
Starts a new transaction.
sourcepub async fn commit(
&mut self,
request: impl IntoRequest<CommitRequest>,
) -> Result<Response<CommitResponse>, Status>
pub async fn commit( &mut self, request: impl IntoRequest<CommitRequest>, ) -> Result<Response<CommitResponse>, Status>
Commits a transaction, while optionally updating documents.
sourcepub async fn rollback(
&mut self,
request: impl IntoRequest<RollbackRequest>,
) -> Result<Response<()>, Status>
pub async fn rollback( &mut self, request: impl IntoRequest<RollbackRequest>, ) -> Result<Response<()>, Status>
Rolls back a transaction.
sourcepub async fn run_query(
&mut self,
request: impl IntoRequest<RunQueryRequest>,
) -> Result<Response<Streaming<RunQueryResponse>>, Status>
pub async fn run_query( &mut self, request: impl IntoRequest<RunQueryRequest>, ) -> Result<Response<Streaming<RunQueryResponse>>, Status>
Runs a query.
sourcepub async fn run_aggregation_query(
&mut self,
request: impl IntoRequest<RunAggregationQueryRequest>,
) -> Result<Response<Streaming<RunAggregationQueryResponse>>, Status>
pub async fn run_aggregation_query( &mut self, request: impl IntoRequest<RunAggregationQueryRequest>, ) -> Result<Response<Streaming<RunAggregationQueryResponse>>, Status>
Runs an aggregation query.
Rather than producing [Document][google.firestore.v1.Document] results like [Firestore.RunQuery][google.firestore.v1.Firestore.RunQuery], this API allows running an aggregation to produce a series of [AggregationResult][google.firestore.v1.AggregationResult] server-side.
High-Level Example:
-- Return the number of documents in table given a filter.
SELECT COUNT(*) FROM ( SELECT * FROM k where a = true );
sourcepub async fn partition_query(
&mut self,
request: impl IntoRequest<PartitionQueryRequest>,
) -> Result<Response<PartitionQueryResponse>, Status>
pub async fn partition_query( &mut self, request: impl IntoRequest<PartitionQueryRequest>, ) -> Result<Response<PartitionQueryResponse>, Status>
Partitions a query by returning partition cursors that can be used to run the query in parallel. The returned partition cursors are split points that can be used by RunQuery as starting/end points for the query results.
sourcepub async fn write(
&mut self,
request: impl IntoStreamingRequest<Message = WriteRequest>,
) -> Result<Response<Streaming<WriteResponse>>, Status>
pub async fn write( &mut self, request: impl IntoStreamingRequest<Message = WriteRequest>, ) -> Result<Response<Streaming<WriteResponse>>, Status>
Streams batches of document updates and deletes, in order. This method is only available via gRPC or WebChannel (not REST).
sourcepub async fn listen(
&mut self,
request: impl IntoStreamingRequest<Message = ListenRequest>,
) -> Result<Response<Streaming<ListenResponse>>, Status>
pub async fn listen( &mut self, request: impl IntoStreamingRequest<Message = ListenRequest>, ) -> Result<Response<Streaming<ListenResponse>>, Status>
Listens to changes. This method is only available via gRPC or WebChannel (not REST).
sourcepub async fn list_collection_ids(
&mut self,
request: impl IntoRequest<ListCollectionIdsRequest>,
) -> Result<Response<ListCollectionIdsResponse>, Status>
pub async fn list_collection_ids( &mut self, request: impl IntoRequest<ListCollectionIdsRequest>, ) -> Result<Response<ListCollectionIdsResponse>, Status>
Lists all the collection IDs underneath a document.
sourcepub async fn batch_write(
&mut self,
request: impl IntoRequest<BatchWriteRequest>,
) -> Result<Response<BatchWriteResponse>, Status>
pub async fn batch_write( &mut self, request: impl IntoRequest<BatchWriteRequest>, ) -> Result<Response<BatchWriteResponse>, Status>
Applies a batch of write operations.
The BatchWrite method does not apply the write operations atomically and can apply them out of order. Method does not allow more than one write per document. Each write succeeds or fails independently. See the [BatchWriteResponse][google.firestore.v1.BatchWriteResponse] for the success status of each write.
If you require an atomically applied set of writes, use [Commit][google.firestore.v1.Firestore.Commit] instead.
sourcepub async fn create_document(
&mut self,
request: impl IntoRequest<CreateDocumentRequest>,
) -> Result<Response<Document>, Status>
pub async fn create_document( &mut self, request: impl IntoRequest<CreateDocumentRequest>, ) -> Result<Response<Document>, Status>
Creates a new document.
Trait Implementations§
source§impl<T: Clone> Clone for FirestoreClient<T>
impl<T: Clone> Clone for FirestoreClient<T>
source§fn clone(&self) -> FirestoreClient<T>
fn clone(&self) -> FirestoreClient<T>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreAuto Trait Implementations§
impl<T> !Freeze for FirestoreClient<T>
impl<T> RefUnwindSafe for FirestoreClient<T>where
T: RefUnwindSafe,
impl<T> Send for FirestoreClient<T>where
T: Send,
impl<T> Sync for FirestoreClient<T>where
T: Sync,
impl<T> Unpin for FirestoreClient<T>where
T: Unpin,
impl<T> UnwindSafe for FirestoreClient<T>where
T: UnwindSafe,
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request