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 (GCP) accelerate building truly serverless apps.

Implementations§

source§

impl FirestoreClient<Channel>

source

pub async fn connect<D>(dst: D) -> Result<Self, Error>
where D: TryInto<Endpoint>, D::Error: Into<StdError>,

Attempt to create a new client by connecting to a given endpoint.

source§

impl<T> FirestoreClient<T>
where T: GrpcService<BoxBody>, T::ResponseBody: Body + Send + 'static, T::Error: Into<StdError>, <T::ResponseBody as Body>::Error: Into<StdError> + Send,

source

pub fn new(inner: T) -> Self

source

pub fn with_interceptor<F>( inner: T, interceptor: F ) -> FirestoreClient<InterceptedService<T, F>>
where F: Interceptor, T: Service<Request<BoxBody>, Response = Response<<T as GrpcService<BoxBody>>::ResponseBody>>, <T as Service<Request<BoxBody>>>::Error: Into<StdError> + Send + Sync,

source

pub fn send_gzip(self) -> Self

Compress requests with gzip.

This requires the server to support it otherwise it might respond with an error.

source

pub fn accept_gzip(self) -> Self

Enable decompressing responses with gzip.

source

pub async fn get_document( &mut self, request: impl IntoRequest<GetDocumentRequest> ) -> Result<Response<Document>, Status>

Gets a single document.

source

pub async fn list_documents( &mut self, request: impl IntoRequest<ListDocumentsRequest> ) -> Result<Response<ListDocumentsResponse>, Status>

Lists documents.

source

pub async fn update_document( &mut self, request: impl IntoRequest<UpdateDocumentRequest> ) -> Result<Response<Document>, Status>

Updates or inserts a document.

source

pub async fn delete_document( &mut self, request: impl IntoRequest<DeleteDocumentRequest> ) -> Result<Response<()>, Status>

Deletes a document.

source

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.

source

pub async fn begin_transaction( &mut self, request: impl IntoRequest<BeginTransactionRequest> ) -> Result<Response<BeginTransactionResponse>, Status>

Starts a new transaction.

source

pub async fn commit( &mut self, request: impl IntoRequest<CommitRequest> ) -> Result<Response<CommitResponse>, Status>

Commits a transaction, while optionally updating documents.

source

pub async fn rollback( &mut self, request: impl IntoRequest<RollbackRequest> ) -> Result<Response<()>, Status>

Rolls back a transaction.

source

pub async fn run_query( &mut self, request: impl IntoRequest<RunQueryRequest> ) -> Result<Response<Streaming<RunQueryResponse>>, Status>

Runs a query.

source

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.

source

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.

source

pub async fn listen( &mut self, request: impl IntoStreamingRequest<Message = ListenRequest> ) -> Result<Response<Streaming<ListenResponse>>, Status>

Listens to changes.

source

pub async fn list_collection_ids( &mut self, request: impl IntoRequest<ListCollectionIdsRequest> ) -> Result<Response<ListCollectionIdsResponse>, Status>

Lists all the collection IDs underneath a document.

source

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.v1beta1.BatchWriteResponse] for the success status of each write.

If you require an atomically applied set of writes, use [Commit][google.firestore.v1beta1.Firestore.Commit] instead.

source

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>

source§

fn clone(&self) -> FirestoreClient<T>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T: Debug> Debug for FirestoreClient<T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> Freeze for FirestoreClient<T>
where T: Freeze,

§

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> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more