| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761 |
- // Copyright 2018 Google LLC.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- //
- syntax = "proto3";
- package google.firestore.v1;
- import "google/api/annotations.proto";
- import "google/firestore/v1/common.proto";
- import "google/firestore/v1/document.proto";
- import "google/firestore/v1/query.proto";
- import "google/firestore/v1/write.proto";
- import "google/protobuf/empty.proto";
- import "google/protobuf/timestamp.proto";
- import "google/rpc/status.proto";
- option csharp_namespace = "Google.Cloud.Firestore.V1Beta1";
- option go_package = "google.golang.org/genproto/googleapis/firestore/v1;firestore";
- option java_multiple_files = true;
- option java_outer_classname = "FirestoreProto";
- option java_package = "com.google.firestore.v1";
- option objc_class_prefix = "GCFS";
- option php_namespace = "Google\\Cloud\\Firestore\\V1beta1";
- // Specification of the Firestore API.
- // The Cloud Firestore service.
- //
- // This service exposes several types of comparable timestamps:
- //
- // * `create_time` - The time at which a document was created. Changes only
- // when a document is deleted, then re-created. Increases in a strict
- // monotonic fashion.
- // * `update_time` - The time at which a document was last updated. Changes
- // every time a document is modified. Does not change when a write results
- // in no modifications. Increases in a strict monotonic fashion.
- // * `read_time` - The time at which a particular state was observed. Used
- // to denote a consistent snapshot of the database or the time at which a
- // Document was observed to not exist.
- // * `commit_time` - The time at which the writes in a transaction were
- // committed. Any read with an equal or greater `read_time` is guaranteed
- // to see the effects of the transaction.
- service Firestore {
- // Gets a single document.
- rpc GetDocument(GetDocumentRequest) returns (Document) {
- option (google.api.http) = {
- get: "/v1/{name=projects/*/databases/*/documents/*/**}"
- };
- }
- // Lists documents.
- rpc ListDocuments(ListDocumentsRequest) returns (ListDocumentsResponse) {
- option (google.api.http) = {
- get: "/v1/{parent=projects/*/databases/*/documents/*/**}/{collection_id}"
- };
- }
- // Creates a new document.
- rpc CreateDocument(CreateDocumentRequest) returns (Document) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/databases/*/documents/**}/{collection_id}"
- body: "document"
- };
- }
- // Updates or inserts a document.
- rpc UpdateDocument(UpdateDocumentRequest) returns (Document) {
- option (google.api.http) = {
- patch: "/v1/{document.name=projects/*/databases/*/documents/*/**}"
- body: "document"
- };
- }
- // Deletes a document.
- rpc DeleteDocument(DeleteDocumentRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- delete: "/v1/{name=projects/*/databases/*/documents/*/**}"
- };
- }
- // Gets multiple documents.
- //
- // Documents returned by this method are not guaranteed to be returned in the
- // same order that they were requested.
- rpc BatchGetDocuments(BatchGetDocumentsRequest) returns (stream BatchGetDocumentsResponse) {
- option (google.api.http) = {
- post: "/v1/{database=projects/*/databases/*}/documents:batchGet"
- body: "*"
- };
- }
- // Starts a new transaction.
- rpc BeginTransaction(BeginTransactionRequest) returns (BeginTransactionResponse) {
- option (google.api.http) = {
- post: "/v1/{database=projects/*/databases/*}/documents:beginTransaction"
- body: "*"
- };
- }
- // Commits a transaction, while optionally updating documents.
- rpc Commit(CommitRequest) returns (CommitResponse) {
- option (google.api.http) = {
- post: "/v1/{database=projects/*/databases/*}/documents:commit"
- body: "*"
- };
- }
- // Rolls back a transaction.
- rpc Rollback(RollbackRequest) returns (google.protobuf.Empty) {
- option (google.api.http) = {
- post: "/v1/{database=projects/*/databases/*}/documents:rollback"
- body: "*"
- };
- }
- // Runs a query.
- rpc RunQuery(RunQueryRequest) returns (stream RunQueryResponse) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/databases/*/documents}:runQuery"
- body: "*"
- additional_bindings {
- post: "/v1/{parent=projects/*/databases/*/documents/*/**}:runQuery"
- body: "*"
- }
- };
- }
- // Streams batches of document updates and deletes, in order.
- rpc Write(stream WriteRequest) returns (stream WriteResponse) {
- option (google.api.http) = {
- post: "/v1/{database=projects/*/databases/*}/documents:write"
- body: "*"
- };
- }
- // Listens to changes.
- rpc Listen(stream ListenRequest) returns (stream ListenResponse) {
- option (google.api.http) = {
- post: "/v1/{database=projects/*/databases/*}/documents:listen"
- body: "*"
- };
- }
- // Lists all the collection IDs underneath a document.
- rpc ListCollectionIds(ListCollectionIdsRequest) returns (ListCollectionIdsResponse) {
- option (google.api.http) = {
- post: "/v1/{parent=projects/*/databases/*/documents}:listCollectionIds"
- body: "*"
- additional_bindings {
- post: "/v1/{parent=projects/*/databases/*/documents/*/**}:listCollectionIds"
- body: "*"
- }
- };
- }
- }
- // The request for [Firestore.GetDocument][google.firestore.v1.Firestore.GetDocument].
- message GetDocumentRequest {
- // The resource name of the Document to get. In the format:
- // `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
- string name = 1;
- // The fields to return. If not set, returns all fields.
- //
- // If the document has a field that is not present in this mask, that field
- // will not be returned in the response.
- DocumentMask mask = 2;
- // The consistency mode for this transaction.
- // If not set, defaults to strong consistency.
- oneof consistency_selector {
- // Reads the document in a transaction.
- bytes transaction = 3;
- // Reads the version of the document at the given time.
- // This may not be older than 60 seconds.
- google.protobuf.Timestamp read_time = 5;
- }
- }
- // The request for [Firestore.ListDocuments][google.firestore.v1.Firestore.ListDocuments].
- message ListDocumentsRequest {
- // The parent resource name. In the format:
- // `projects/{project_id}/databases/{database_id}/documents` or
- // `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
- // For example:
- // `projects/my-project/databases/my-database/documents` or
- // `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
- string parent = 1;
- // The collection ID, relative to `parent`, to list. For example: `chatrooms`
- // or `messages`.
- string collection_id = 2;
- // The maximum number of documents to return.
- int32 page_size = 3;
- // The `next_page_token` value returned from a previous List request, if any.
- string page_token = 4;
- // The order to sort results by. For example: `priority desc, name`.
- string order_by = 6;
- // The fields to return. If not set, returns all fields.
- //
- // If a document has a field that is not present in this mask, that field
- // will not be returned in the response.
- DocumentMask mask = 7;
- // The consistency mode for this transaction.
- // If not set, defaults to strong consistency.
- oneof consistency_selector {
- // Reads documents in a transaction.
- bytes transaction = 8;
- // Reads documents as they were at the given time.
- // This may not be older than 60 seconds.
- google.protobuf.Timestamp read_time = 10;
- }
- // If the list should show missing documents. A missing document is a
- // document that does not exist but has sub-documents. These documents will
- // be returned with a key but will not have fields, [Document.create_time][google.firestore.v1.Document.create_time],
- // or [Document.update_time][google.firestore.v1.Document.update_time] set.
- //
- // Requests with `show_missing` may not specify `where` or
- // `order_by`.
- bool show_missing = 12;
- }
- // The response for [Firestore.ListDocuments][google.firestore.v1.Firestore.ListDocuments].
- message ListDocumentsResponse {
- // The Documents found.
- repeated Document documents = 1;
- // The next page token.
- string next_page_token = 2;
- }
- // The request for [Firestore.CreateDocument][google.firestore.v1.Firestore.CreateDocument].
- message CreateDocumentRequest {
- // The parent resource. For example:
- // `projects/{project_id}/databases/{database_id}/documents` or
- // `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}`
- string parent = 1;
- // The collection ID, relative to `parent`, to list. For example: `chatrooms`.
- string collection_id = 2;
- // The client-assigned document ID to use for this document.
- //
- // Optional. If not specified, an ID will be assigned by the service.
- string document_id = 3;
- // The document to create. `name` must not be set.
- Document document = 4;
- // The fields to return. If not set, returns all fields.
- //
- // If the document has a field that is not present in this mask, that field
- // will not be returned in the response.
- DocumentMask mask = 5;
- }
- // The request for [Firestore.UpdateDocument][google.firestore.v1.Firestore.UpdateDocument].
- message UpdateDocumentRequest {
- // The updated document.
- // Creates the document if it does not already exist.
- Document document = 1;
- // The fields to update.
- // None of the field paths in the mask may contain a reserved name.
- //
- // If the document exists on the server and has fields not referenced in the
- // mask, they are left unchanged.
- // Fields referenced in the mask, but not present in the input document, are
- // deleted from the document on the server.
- DocumentMask update_mask = 2;
- // The fields to return. If not set, returns all fields.
- //
- // If the document has a field that is not present in this mask, that field
- // will not be returned in the response.
- DocumentMask mask = 3;
- // An optional precondition on the document.
- // The request will fail if this is set and not met by the target document.
- Precondition current_document = 4;
- }
- // The request for [Firestore.DeleteDocument][google.firestore.v1.Firestore.DeleteDocument].
- message DeleteDocumentRequest {
- // The resource name of the Document to delete. In the format:
- // `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
- string name = 1;
- // An optional precondition on the document.
- // The request will fail if this is set and not met by the target document.
- Precondition current_document = 2;
- }
- // The request for [Firestore.BatchGetDocuments][google.firestore.v1.Firestore.BatchGetDocuments].
- message BatchGetDocumentsRequest {
- // The database name. In the format:
- // `projects/{project_id}/databases/{database_id}`.
- string database = 1;
- // The names of the documents to retrieve. In the format:
- // `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
- // The request will fail if any of the document is not a child resource of the
- // given `database`. Duplicate names will be elided.
- repeated string documents = 2;
- // The fields to return. If not set, returns all fields.
- //
- // If a document has a field that is not present in this mask, that field will
- // not be returned in the response.
- DocumentMask mask = 3;
- // The consistency mode for this transaction.
- // If not set, defaults to strong consistency.
- oneof consistency_selector {
- // Reads documents in a transaction.
- bytes transaction = 4;
- // Starts a new transaction and reads the documents.
- // Defaults to a read-only transaction.
- // The new transaction ID will be returned as the first response in the
- // stream.
- TransactionOptions new_transaction = 5;
- // Reads documents as they were at the given time.
- // This may not be older than 60 seconds.
- google.protobuf.Timestamp read_time = 7;
- }
- }
- // The streamed response for [Firestore.BatchGetDocuments][google.firestore.v1.Firestore.BatchGetDocuments].
- message BatchGetDocumentsResponse {
- // A single result.
- // This can be empty if the server is just returning a transaction.
- oneof result {
- // A document that was requested.
- Document found = 1;
- // A document name that was requested but does not exist. In the format:
- // `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
- string missing = 2;
- }
- // The transaction that was started as part of this request.
- // Will only be set in the first response, and only if
- // [BatchGetDocumentsRequest.new_transaction][google.firestore.v1.BatchGetDocumentsRequest.new_transaction] was set in the request.
- bytes transaction = 3;
- // The time at which the document was read.
- // This may be monotically increasing, in this case the previous documents in
- // the result stream are guaranteed not to have changed between their
- // read_time and this one.
- google.protobuf.Timestamp read_time = 4;
- }
- // The request for [Firestore.BeginTransaction][google.firestore.v1.Firestore.BeginTransaction].
- message BeginTransactionRequest {
- // The database name. In the format:
- // `projects/{project_id}/databases/{database_id}`.
- string database = 1;
- // The options for the transaction.
- // Defaults to a read-write transaction.
- TransactionOptions options = 2;
- }
- // The response for [Firestore.BeginTransaction][google.firestore.v1.Firestore.BeginTransaction].
- message BeginTransactionResponse {
- // The transaction that was started.
- bytes transaction = 1;
- }
- // The request for [Firestore.Commit][google.firestore.v1.Firestore.Commit].
- message CommitRequest {
- // The database name. In the format:
- // `projects/{project_id}/databases/{database_id}`.
- string database = 1;
- // The writes to apply.
- //
- // Always executed atomically and in order.
- repeated Write writes = 2;
- // If set, applies all writes in this transaction, and commits it.
- bytes transaction = 3;
- }
- // The response for [Firestore.Commit][google.firestore.v1.Firestore.Commit].
- message CommitResponse {
- // The result of applying the writes.
- //
- // This i-th write result corresponds to the i-th write in the
- // request.
- repeated WriteResult write_results = 1;
- // The time at which the commit occurred.
- google.protobuf.Timestamp commit_time = 2;
- }
- // The request for [Firestore.Rollback][google.firestore.v1.Firestore.Rollback].
- message RollbackRequest {
- // The database name. In the format:
- // `projects/{project_id}/databases/{database_id}`.
- string database = 1;
- // The transaction to roll back.
- bytes transaction = 2;
- }
- // The request for [Firestore.RunQuery][google.firestore.v1.Firestore.RunQuery].
- message RunQueryRequest {
- // The parent resource name. In the format:
- // `projects/{project_id}/databases/{database_id}/documents` or
- // `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
- // For example:
- // `projects/my-project/databases/my-database/documents` or
- // `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
- string parent = 1;
- // The query to run.
- oneof query_type {
- // A structured query.
- StructuredQuery structured_query = 2;
- }
- // The consistency mode for this transaction.
- // If not set, defaults to strong consistency.
- oneof consistency_selector {
- // Reads documents in a transaction.
- bytes transaction = 5;
- // Starts a new transaction and reads the documents.
- // Defaults to a read-only transaction.
- // The new transaction ID will be returned as the first response in the
- // stream.
- TransactionOptions new_transaction = 6;
- // Reads documents as they were at the given time.
- // This may not be older than 60 seconds.
- google.protobuf.Timestamp read_time = 7;
- }
- }
- // The response for [Firestore.RunQuery][google.firestore.v1.Firestore.RunQuery].
- message RunQueryResponse {
- // The transaction that was started as part of this request.
- // Can only be set in the first response, and only if
- // [RunQueryRequest.new_transaction][google.firestore.v1.RunQueryRequest.new_transaction] was set in the request.
- // If set, no other fields will be set in this response.
- bytes transaction = 2;
- // A query result.
- // Not set when reporting partial progress.
- Document document = 1;
- // The time at which the document was read. This may be monotonically
- // increasing; in this case, the previous documents in the result stream are
- // guaranteed not to have changed between their `read_time` and this one.
- //
- // If the query returns no results, a response with `read_time` and no
- // `document` will be sent, and this represents the time at which the query
- // was run.
- google.protobuf.Timestamp read_time = 3;
- // The number of results that have been skipped due to an offset between
- // the last response and the current response.
- int32 skipped_results = 4;
- }
- // The request for [Firestore.Write][google.firestore.v1.Firestore.Write].
- //
- // The first request creates a stream, or resumes an existing one from a token.
- //
- // When creating a new stream, the server replies with a response containing
- // only an ID and a token, to use in the next request.
- //
- // When resuming a stream, the server first streams any responses later than the
- // given token, then a response containing only an up-to-date token, to use in
- // the next request.
- message WriteRequest {
- // The database name. In the format:
- // `projects/{project_id}/databases/{database_id}`.
- // This is only required in the first message.
- string database = 1;
- // The ID of the write stream to resume.
- // This may only be set in the first message. When left empty, a new write
- // stream will be created.
- string stream_id = 2;
- // The writes to apply.
- //
- // Always executed atomically and in order.
- // This must be empty on the first request.
- // This may be empty on the last request.
- // This must not be empty on all other requests.
- repeated Write writes = 3;
- // A stream token that was previously sent by the server.
- //
- // The client should set this field to the token from the most recent
- // [WriteResponse][google.firestore.v1.WriteResponse] it has received. This acknowledges that the client has
- // received responses up to this token. After sending this token, earlier
- // tokens may not be used anymore.
- //
- // The server may close the stream if there are too many unacknowledged
- // responses.
- //
- // Leave this field unset when creating a new stream. To resume a stream at
- // a specific point, set this field and the `stream_id` field.
- //
- // Leave this field unset when creating a new stream.
- bytes stream_token = 4;
- // Labels associated with this write request.
- map<string, string> labels = 5;
- }
- // The response for [Firestore.Write][google.firestore.v1.Firestore.Write].
- message WriteResponse {
- // The ID of the stream.
- // Only set on the first message, when a new stream was created.
- string stream_id = 1;
- // A token that represents the position of this response in the stream.
- // This can be used by a client to resume the stream at this point.
- //
- // This field is always set.
- bytes stream_token = 2;
- // The result of applying the writes.
- //
- // This i-th write result corresponds to the i-th write in the
- // request.
- repeated WriteResult write_results = 3;
- // The time at which the commit occurred.
- google.protobuf.Timestamp commit_time = 4;
- }
- // A request for [Firestore.Listen][google.firestore.v1.Firestore.Listen]
- message ListenRequest {
- // The database name. In the format:
- // `projects/{project_id}/databases/{database_id}`.
- string database = 1;
- // The supported target changes.
- oneof target_change {
- // A target to add to this stream.
- Target add_target = 2;
- // The ID of a target to remove from this stream.
- int32 remove_target = 3;
- }
- // Labels associated with this target change.
- map<string, string> labels = 4;
- }
- // The response for [Firestore.Listen][google.firestore.v1.Firestore.Listen].
- message ListenResponse {
- // The supported responses.
- oneof response_type {
- // Targets have changed.
- TargetChange target_change = 2;
- // A [Document][google.firestore.v1.Document] has changed.
- DocumentChange document_change = 3;
- // A [Document][google.firestore.v1.Document] has been deleted.
- DocumentDelete document_delete = 4;
- // A [Document][google.firestore.v1.Document] has been removed from a target (because it is no longer
- // relevant to that target).
- DocumentRemove document_remove = 6;
- // A filter to apply to the set of documents previously returned for the
- // given target.
- //
- // Returned when documents may have been removed from the given target, but
- // the exact documents are unknown.
- ExistenceFilter filter = 5;
- }
- }
- // A specification of a set of documents to listen to.
- message Target {
- // A target specified by a set of documents names.
- message DocumentsTarget {
- // The names of the documents to retrieve. In the format:
- // `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
- // The request will fail if any of the document is not a child resource of
- // the given `database`. Duplicate names will be elided.
- repeated string documents = 2;
- }
- // A target specified by a query.
- message QueryTarget {
- // The parent resource name. In the format:
- // `projects/{project_id}/databases/{database_id}/documents` or
- // `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
- // For example:
- // `projects/my-project/databases/my-database/documents` or
- // `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
- string parent = 1;
- // The query to run.
- oneof query_type {
- // A structured query.
- StructuredQuery structured_query = 2;
- }
- }
- // The type of target to listen to.
- oneof target_type {
- // A target specified by a query.
- QueryTarget query = 2;
- // A target specified by a set of document names.
- DocumentsTarget documents = 3;
- }
- // When to start listening.
- //
- // If not specified, all matching Documents are returned before any
- // subsequent changes.
- oneof resume_type {
- // A resume token from a prior [TargetChange][google.firestore.v1.TargetChange] for an identical target.
- //
- // Using a resume token with a different target is unsupported and may fail.
- bytes resume_token = 4;
- // Start listening after a specific `read_time`.
- //
- // The client must know the state of matching documents at this time.
- google.protobuf.Timestamp read_time = 11;
- }
- // A client provided target ID.
- //
- // If not set, the server will assign an ID for the target.
- //
- // Used for resuming a target without changing IDs. The IDs can either be
- // client-assigned or be server-assigned in a previous stream. All targets
- // with client provided IDs must be added before adding a target that needs
- // a server-assigned id.
- int32 target_id = 5;
- // If the target should be removed once it is current and consistent.
- bool once = 6;
- }
- // Targets being watched have changed.
- message TargetChange {
- // The type of change.
- enum TargetChangeType {
- // No change has occurred. Used only to send an updated `resume_token`.
- NO_CHANGE = 0;
- // The targets have been added.
- ADD = 1;
- // The targets have been removed.
- REMOVE = 2;
- // The targets reflect all changes committed before the targets were added
- // to the stream.
- //
- // This will be sent after or with a `read_time` that is greater than or
- // equal to the time at which the targets were added.
- //
- // Listeners can wait for this change if read-after-write semantics
- // are desired.
- CURRENT = 3;
- // The targets have been reset, and a new initial state for the targets
- // will be returned in subsequent changes.
- //
- // After the initial state is complete, `CURRENT` will be returned even
- // if the target was previously indicated to be `CURRENT`.
- RESET = 4;
- }
- // The type of change that occurred.
- TargetChangeType target_change_type = 1;
- // The target IDs of targets that have changed.
- //
- // If empty, the change applies to all targets.
- //
- // For `target_change_type=ADD`, the order of the target IDs matches the order
- // of the requests to add the targets. This allows clients to unambiguously
- // associate server-assigned target IDs with added targets.
- //
- // For other states, the order of the target IDs is not defined.
- repeated int32 target_ids = 2;
- // The error that resulted in this change, if applicable.
- google.rpc.Status cause = 3;
- // A token that can be used to resume the stream for the given `target_ids`,
- // or all targets if `target_ids` is empty.
- //
- // Not set on every target change.
- bytes resume_token = 4;
- // The consistent `read_time` for the given `target_ids` (omitted when the
- // target_ids are not at a consistent snapshot).
- //
- // The stream is guaranteed to send a `read_time` with `target_ids` empty
- // whenever the entire stream reaches a new consistent snapshot. ADD,
- // CURRENT, and RESET messages are guaranteed to (eventually) result in a
- // new consistent snapshot (while NO_CHANGE and REMOVE messages are not).
- //
- // For a given stream, `read_time` is guaranteed to be monotonically
- // increasing.
- google.protobuf.Timestamp read_time = 6;
- }
- // The request for [Firestore.ListCollectionIds][google.firestore.v1.Firestore.ListCollectionIds].
- message ListCollectionIdsRequest {
- // The parent document. In the format:
- // `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
- // For example:
- // `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
- string parent = 1;
- // The maximum number of results to return.
- int32 page_size = 2;
- // A page token. Must be a value from
- // [ListCollectionIdsResponse][google.firestore.v1.ListCollectionIdsResponse].
- string page_token = 3;
- }
- // The response from [Firestore.ListCollectionIds][google.firestore.v1.Firestore.ListCollectionIds].
- message ListCollectionIdsResponse {
- // The collection ids.
- repeated string collection_ids = 1;
- // A page token that may be used to continue the list.
- string next_page_token = 2;
- }
|