Class Firestore.FirestoreBase (2.4.0)

[BindServiceMethod(typeof(Firestore), "BindService")]
public abstract class FirestoreBase

Base class for server-side implementations of Firestore

Inheritance

Object > Firestore.FirestoreBase

Namespace

Google.Cloud.Firestore.V1

Assembly

Google.Cloud.Firestore.V1.dll

Methods

BatchGetDocuments(BatchGetDocumentsRequest, IServerStreamWriter<BatchGetDocumentsResponse>, ServerCallContext)

public virtual Task BatchGetDocuments(BatchGetDocumentsRequest request, IServerStreamWriter<BatchGetDocumentsResponse> responseStream, ServerCallContext context)

Gets multiple documents.

Documents returned by this method are not guaranteed to be returned in the same order that they were requested.

Parameters
Name Description
request BatchGetDocumentsRequest

The request received from the client.

responseStream IServerStreamWriter<BatchGetDocumentsResponse>

Used for sending responses back to the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
System.Threading.Tasks.Task

A task indicating completion of the handler.

BatchWrite(BatchWriteRequest, ServerCallContext)

public virtual Task<BatchWriteResponse> BatchWrite(BatchWriteRequest request, ServerCallContext context)

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.

Parameters
Name Description
request BatchWriteRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
Task<BatchWriteResponse>

The response to send back to the client (wrapped by a task).

BeginTransaction(BeginTransactionRequest, ServerCallContext)

public virtual Task<BeginTransactionResponse> BeginTransaction(BeginTransactionRequest request, ServerCallContext context)

Starts a new transaction.

Parameters
Name Description
request BeginTransactionRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
Task<BeginTransactionResponse>

The response to send back to the client (wrapped by a task).

Commit(CommitRequest, ServerCallContext)

public virtual Task<CommitResponse> Commit(CommitRequest request, ServerCallContext context)

Commits a transaction, while optionally updating documents.

Parameters
Name Description
request CommitRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
Task<CommitResponse>

The response to send back to the client (wrapped by a task).

CreateDocument(CreateDocumentRequest, ServerCallContext)

public virtual Task<Document> CreateDocument(CreateDocumentRequest request, ServerCallContext context)

Creates a new document.

Parameters
Name Description
request CreateDocumentRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
Task<Document>

The response to send back to the client (wrapped by a task).

DeleteDocument(DeleteDocumentRequest, ServerCallContext)

public virtual Task<Empty> DeleteDocument(DeleteDocumentRequest request, ServerCallContext context)

Deletes a document.

Parameters
Name Description
request DeleteDocumentRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
Task<Empty>

The response to send back to the client (wrapped by a task).

GetDocument(GetDocumentRequest, ServerCallContext)

public virtual Task<Document> GetDocument(GetDocumentRequest request, ServerCallContext context)

Gets a single document.

Parameters
Name Description
request GetDocumentRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
Task<Document>

The response to send back to the client (wrapped by a task).

ListCollectionIds(ListCollectionIdsRequest, ServerCallContext)

public virtual Task<ListCollectionIdsResponse> ListCollectionIds(ListCollectionIdsRequest request, ServerCallContext context)

Lists all the collection IDs underneath a document.

Parameters
Name Description
request ListCollectionIdsRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
Task<ListCollectionIdsResponse>

The response to send back to the client (wrapped by a task).

ListDocuments(ListDocumentsRequest, ServerCallContext)

public virtual Task<ListDocumentsResponse> ListDocuments(ListDocumentsRequest request, ServerCallContext context)

Lists documents.

Parameters
Name Description
request ListDocumentsRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
Task<ListDocumentsResponse>

The response to send back to the client (wrapped by a task).

Listen(IAsyncStreamReader<ListenRequest>, IServerStreamWriter<ListenResponse>, ServerCallContext)

public virtual Task Listen(IAsyncStreamReader<ListenRequest> requestStream, IServerStreamWriter<ListenResponse> responseStream, ServerCallContext context)

Listens to changes.

Parameters
Name Description
requestStream IAsyncStreamReader<ListenRequest>

Used for reading requests from the client.

responseStream IServerStreamWriter<ListenResponse>

Used for sending responses back to the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
System.Threading.Tasks.Task

A task indicating completion of the handler.

PartitionQuery(PartitionQueryRequest, ServerCallContext)

public virtual Task<PartitionQueryResponse> PartitionQuery(PartitionQueryRequest request, ServerCallContext context)

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.

Parameters
Name Description
request PartitionQueryRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
Task<PartitionQueryResponse>

The response to send back to the client (wrapped by a task).

Rollback(RollbackRequest, ServerCallContext)

public virtual Task<Empty> Rollback(RollbackRequest request, ServerCallContext context)

Rolls back a transaction.

Parameters
Name Description
request RollbackRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
Task<Empty>

The response to send back to the client (wrapped by a task).

RunQuery(RunQueryRequest, IServerStreamWriter<RunQueryResponse>, ServerCallContext)

public virtual Task RunQuery(RunQueryRequest request, IServerStreamWriter<RunQueryResponse> responseStream, ServerCallContext context)

Runs a query.

Parameters
Name Description
request RunQueryRequest

The request received from the client.

responseStream IServerStreamWriter<RunQueryResponse>

Used for sending responses back to the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
System.Threading.Tasks.Task

A task indicating completion of the handler.

UpdateDocument(UpdateDocumentRequest, ServerCallContext)

public virtual Task<Document> UpdateDocument(UpdateDocumentRequest request, ServerCallContext context)

Updates or inserts a document.

Parameters
Name Description
request UpdateDocumentRequest

The request received from the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
Task<Document>

The response to send back to the client (wrapped by a task).

Write(IAsyncStreamReader<WriteRequest>, IServerStreamWriter<WriteResponse>, ServerCallContext)

public virtual Task Write(IAsyncStreamReader<WriteRequest> requestStream, IServerStreamWriter<WriteResponse> responseStream, ServerCallContext context)

Streams batches of document updates and deletes, in order.

Parameters
Name Description
requestStream IAsyncStreamReader<WriteRequest>

Used for reading requests from the client.

responseStream IServerStreamWriter<WriteResponse>

Used for sending responses back to the client.

context ServerCallContext

The context of the server-side call handler being invoked.

Returns
Type Description
System.Threading.Tasks.Task

A task indicating completion of the handler.