| // This is a generated file (see the discoveryapis_generator project). |
| |
| library googleapis_beta.firestore.v1beta1; |
| |
| import 'dart:core' as core; |
| import 'dart:async' as async; |
| import 'dart:convert' as convert; |
| |
| import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
| import 'package:http/http.dart' as http; |
| |
| export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' |
| show ApiRequestError, DetailedApiRequestError; |
| |
| const core.String USER_AGENT = 'dart-api-client firestore/v1beta1'; |
| |
| class FirestoreApi { |
| /// View and manage your data across Google Cloud Platform services |
| static const CloudPlatformScope = |
| "https://www.googleapis.com/auth/cloud-platform"; |
| |
| /// View and manage your Google Cloud Datastore data |
| static const DatastoreScope = "https://www.googleapis.com/auth/datastore"; |
| |
| final commons.ApiRequester _requester; |
| |
| ProjectsResourceApi get projects => new ProjectsResourceApi(_requester); |
| |
| FirestoreApi(http.Client client, |
| {core.String rootUrl: "https://firestore.googleapis.com/", |
| core.String servicePath: ""}) |
| : _requester = |
| new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT); |
| } |
| |
| class ProjectsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsDatabasesResourceApi get databases => |
| new ProjectsDatabasesResourceApi(_requester); |
| |
| ProjectsResourceApi(commons.ApiRequester client) : _requester = client; |
| } |
| |
| class ProjectsDatabasesResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsDatabasesDocumentsResourceApi get documents => |
| new ProjectsDatabasesDocumentsResourceApi(_requester); |
| ProjectsDatabasesIndexesResourceApi get indexes => |
| new ProjectsDatabasesIndexesResourceApi(_requester); |
| |
| ProjectsDatabasesResourceApi(commons.ApiRequester client) |
| : _requester = client; |
| } |
| |
| class ProjectsDatabasesDocumentsResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsDatabasesDocumentsResourceApi(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Gets multiple documents. |
| /// |
| /// Documents returned by this method are not guaranteed to be returned in the |
| /// same order that they were requested. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [database] - The database name. In the format: |
| /// `projects/{project_id}/databases/{database_id}`. |
| /// Value must have pattern "^projects/[^/]+/databases/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [BatchGetDocumentsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<BatchGetDocumentsResponse> batchGet( |
| BatchGetDocumentsRequest request, core.String database, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (database == null) { |
| throw new core.ArgumentError("Parameter database is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| commons.Escaper.ecapeVariableReserved('$database') + |
| '/documents:batchGet'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response |
| .then((data) => new BatchGetDocumentsResponse.fromJson(data)); |
| } |
| |
| /// Starts a new transaction. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [database] - The database name. In the format: |
| /// `projects/{project_id}/databases/{database_id}`. |
| /// Value must have pattern "^projects/[^/]+/databases/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [BeginTransactionResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<BeginTransactionResponse> beginTransaction( |
| BeginTransactionRequest request, core.String database, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (database == null) { |
| throw new core.ArgumentError("Parameter database is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| commons.Escaper.ecapeVariableReserved('$database') + |
| '/documents:beginTransaction'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response |
| .then((data) => new BeginTransactionResponse.fromJson(data)); |
| } |
| |
| /// Commits a transaction, while optionally updating documents. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [database] - The database name. In the format: |
| /// `projects/{project_id}/databases/{database_id}`. |
| /// Value must have pattern "^projects/[^/]+/databases/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [CommitResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<CommitResponse> commit( |
| CommitRequest request, core.String database, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (database == null) { |
| throw new core.ArgumentError("Parameter database is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| commons.Escaper.ecapeVariableReserved('$database') + |
| '/documents:commit'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new CommitResponse.fromJson(data)); |
| } |
| |
| /// Creates a new document. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - The parent resource. For example: |
| /// `projects/{project_id}/databases/{database_id}/documents` or |
| /// `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroom_id}` |
| /// Value must have pattern "^projects/[^/]+/databases/[^/]+/documents/.+$". |
| /// |
| /// [collectionId] - The collection ID, relative to `parent`, to list. For |
| /// example: `chatrooms`. |
| /// |
| /// [mask_fieldPaths] - The list of field paths in the mask. See |
| /// Document.fields for a field |
| /// path syntax reference. |
| /// |
| /// [documentId] - The client-assigned document ID to use for this document. |
| /// |
| /// Optional. If not specified, an ID will be assigned by the service. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Document]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Document> createDocument( |
| Document request, core.String parent, core.String collectionId, |
| {core.List<core.String> mask_fieldPaths, |
| core.String documentId, |
| core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if (collectionId == null) { |
| throw new core.ArgumentError("Parameter collectionId is required."); |
| } |
| if (mask_fieldPaths != null) { |
| _queryParams["mask.fieldPaths"] = mask_fieldPaths; |
| } |
| if (documentId != null) { |
| _queryParams["documentId"] = [documentId]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/' + |
| commons.Escaper.ecapeVariable('$collectionId'); |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Document.fromJson(data)); |
| } |
| |
| /// Deletes a document. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The resource name of the Document to delete. In the format: |
| /// `projects/{project_id}/databases/{database_id}/documents/{document_path}`. |
| /// Value must have pattern |
| /// "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.+$". |
| /// |
| /// [currentDocument_exists] - When set to `true`, the target document must |
| /// exist. |
| /// When set to `false`, the target document must not exist. |
| /// |
| /// [currentDocument_updateTime] - When set, the target document must exist |
| /// and have been last updated at |
| /// that time. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> delete(core.String name, |
| {core.bool currentDocument_exists, |
| core.String currentDocument_updateTime, |
| core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if (currentDocument_exists != null) { |
| _queryParams["currentDocument.exists"] = ["${currentDocument_exists}"]; |
| } |
| if (currentDocument_updateTime != null) { |
| _queryParams["currentDocument.updateTime"] = [currentDocument_updateTime]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "DELETE", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Empty.fromJson(data)); |
| } |
| |
| /// Gets a single document. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The resource name of the Document to get. In the format: |
| /// `projects/{project_id}/databases/{database_id}/documents/{document_path}`. |
| /// Value must have pattern |
| /// "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.+$". |
| /// |
| /// [mask_fieldPaths] - The list of field paths in the mask. See |
| /// Document.fields for a field |
| /// path syntax reference. |
| /// |
| /// [readTime] - Reads the version of the document at the given time. |
| /// This may not be older than 60 seconds. |
| /// |
| /// [transaction] - Reads the document in a transaction. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Document]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Document> get(core.String name, |
| {core.List<core.String> mask_fieldPaths, |
| core.String readTime, |
| core.String transaction, |
| core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if (mask_fieldPaths != null) { |
| _queryParams["mask.fieldPaths"] = mask_fieldPaths; |
| } |
| if (readTime != null) { |
| _queryParams["readTime"] = [readTime]; |
| } |
| if (transaction != null) { |
| _queryParams["transaction"] = [transaction]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Document.fromJson(data)); |
| } |
| |
| /// Lists documents. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - 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` |
| /// Value must have pattern |
| /// "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.+$". |
| /// |
| /// [collectionId] - The collection ID, relative to `parent`, to list. For |
| /// example: `chatrooms` |
| /// or `messages`. |
| /// |
| /// [showMissing] - 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, |
| /// or Document.update_time set. |
| /// |
| /// Requests with `show_missing` may not specify `where` or |
| /// `order_by`. |
| /// |
| /// [mask_fieldPaths] - The list of field paths in the mask. See |
| /// Document.fields for a field |
| /// path syntax reference. |
| /// |
| /// [pageToken] - The `next_page_token` value returned from a previous List |
| /// request, if any. |
| /// |
| /// [pageSize] - The maximum number of documents to return. |
| /// |
| /// [transaction] - Reads documents in a transaction. |
| /// |
| /// [orderBy] - The order to sort results by. For example: `priority desc, |
| /// name`. |
| /// |
| /// [readTime] - Reads documents as they were at the given time. |
| /// This may not be older than 60 seconds. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListDocumentsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListDocumentsResponse> list( |
| core.String parent, core.String collectionId, |
| {core.bool showMissing, |
| core.List<core.String> mask_fieldPaths, |
| core.String pageToken, |
| core.int pageSize, |
| core.String transaction, |
| core.String orderBy, |
| core.String readTime, |
| core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if (collectionId == null) { |
| throw new core.ArgumentError("Parameter collectionId is required."); |
| } |
| if (showMissing != null) { |
| _queryParams["showMissing"] = ["${showMissing}"]; |
| } |
| if (mask_fieldPaths != null) { |
| _queryParams["mask.fieldPaths"] = mask_fieldPaths; |
| } |
| if (pageToken != null) { |
| _queryParams["pageToken"] = [pageToken]; |
| } |
| if (pageSize != null) { |
| _queryParams["pageSize"] = ["${pageSize}"]; |
| } |
| if (transaction != null) { |
| _queryParams["transaction"] = [transaction]; |
| } |
| if (orderBy != null) { |
| _queryParams["orderBy"] = [orderBy]; |
| } |
| if (readTime != null) { |
| _queryParams["readTime"] = [readTime]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/' + |
| commons.Escaper.ecapeVariable('$collectionId'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new ListDocumentsResponse.fromJson(data)); |
| } |
| |
| /// Lists all the collection IDs underneath a document. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - 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` |
| /// Value must have pattern |
| /// "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListCollectionIdsResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListCollectionIdsResponse> listCollectionIds( |
| ListCollectionIdsRequest request, core.String parent, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| ':listCollectionIds'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response |
| .then((data) => new ListCollectionIdsResponse.fromJson(data)); |
| } |
| |
| /// Listens to changes. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [database] - The database name. In the format: |
| /// `projects/{project_id}/databases/{database_id}`. |
| /// Value must have pattern "^projects/[^/]+/databases/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListenResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListenResponse> listen( |
| ListenRequest request, core.String database, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (database == null) { |
| throw new core.ArgumentError("Parameter database is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| commons.Escaper.ecapeVariableReserved('$database') + |
| '/documents:listen'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new ListenResponse.fromJson(data)); |
| } |
| |
| /// Updates or inserts a document. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The resource name of the document, for example |
| /// `projects/{project_id}/databases/{database_id}/documents/{document_path}`. |
| /// Value must have pattern |
| /// "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.+$". |
| /// |
| /// [currentDocument_updateTime] - When set, the target document must exist |
| /// and have been last updated at |
| /// that time. |
| /// |
| /// [currentDocument_exists] - When set to `true`, the target document must |
| /// exist. |
| /// When set to `false`, the target document must not exist. |
| /// |
| /// [updateMask_fieldPaths] - The list of field paths in the mask. See |
| /// Document.fields for a field |
| /// path syntax reference. |
| /// |
| /// [mask_fieldPaths] - The list of field paths in the mask. See |
| /// Document.fields for a field |
| /// path syntax reference. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Document]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Document> patch(Document request, core.String name, |
| {core.String currentDocument_updateTime, |
| core.bool currentDocument_exists, |
| core.List<core.String> updateMask_fieldPaths, |
| core.List<core.String> mask_fieldPaths, |
| core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if (currentDocument_updateTime != null) { |
| _queryParams["currentDocument.updateTime"] = [currentDocument_updateTime]; |
| } |
| if (currentDocument_exists != null) { |
| _queryParams["currentDocument.exists"] = ["${currentDocument_exists}"]; |
| } |
| if (updateMask_fieldPaths != null) { |
| _queryParams["updateMask.fieldPaths"] = updateMask_fieldPaths; |
| } |
| if (mask_fieldPaths != null) { |
| _queryParams["mask.fieldPaths"] = mask_fieldPaths; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "PATCH", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Document.fromJson(data)); |
| } |
| |
| /// Rolls back a transaction. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [database] - The database name. In the format: |
| /// `projects/{project_id}/databases/{database_id}`. |
| /// Value must have pattern "^projects/[^/]+/databases/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> rollback(RollbackRequest request, core.String database, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (database == null) { |
| throw new core.ArgumentError("Parameter database is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| commons.Escaper.ecapeVariableReserved('$database') + |
| '/documents:rollback'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Empty.fromJson(data)); |
| } |
| |
| /// Runs a query. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - 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` |
| /// Value must have pattern |
| /// "^projects/[^/]+/databases/[^/]+/documents/[^/]+/.+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [RunQueryResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<RunQueryResponse> runQuery( |
| RunQueryRequest request, core.String parent, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| ':runQuery'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new RunQueryResponse.fromJson(data)); |
| } |
| |
| /// Streams batches of document updates and deletes, in order. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [database] - The database name. In the format: |
| /// `projects/{project_id}/databases/{database_id}`. |
| /// This is only required in the first message. |
| /// Value must have pattern "^projects/[^/]+/databases/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [WriteResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<WriteResponse> write(WriteRequest request, core.String database, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (database == null) { |
| throw new core.ArgumentError("Parameter database is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| commons.Escaper.ecapeVariableReserved('$database') + |
| '/documents:write'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new WriteResponse.fromJson(data)); |
| } |
| } |
| |
| class ProjectsDatabasesIndexesResourceApi { |
| final commons.ApiRequester _requester; |
| |
| ProjectsDatabasesIndexesResourceApi(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// Creates the specified index. |
| /// A newly created index's initial state is `CREATING`. On completion of the |
| /// returned google.longrunning.Operation, the state will be `READY`. |
| /// If the index already exists, the call will return an `ALREADY_EXISTS` |
| /// status. |
| /// |
| /// During creation, the process could result in an error, in which case the |
| /// index will move to the `ERROR` state. The process can be recovered by |
| /// fixing the data that caused the error, removing the index with |
| /// delete, then re-creating the index with |
| /// create. |
| /// |
| /// Indexes with a single field cannot be created. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - The name of the database this index will apply to. For example: |
| /// `projects/{project_id}/databases/{database_id}` |
| /// Value must have pattern "^projects/[^/]+/databases/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Operation]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Operation> create(Index request, core.String parent, |
| {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (request != null) { |
| _body = convert.JSON.encode((request).toJson()); |
| } |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/indexes'; |
| |
| var _response = _requester.request(_url, "POST", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Operation.fromJson(data)); |
| } |
| |
| /// Deletes an index. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The index name. For example: |
| /// `projects/{project_id}/databases/{database_id}/indexes/{index_id}` |
| /// Value must have pattern "^projects/[^/]+/databases/[^/]+/indexes/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Empty]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Empty> delete(core.String name, {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "DELETE", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Empty.fromJson(data)); |
| } |
| |
| /// Gets an index. |
| /// |
| /// Request parameters: |
| /// |
| /// [name] - The name of the index. For example: |
| /// `projects/{project_id}/databases/{database_id}/indexes/{index_id}` |
| /// Value must have pattern "^projects/[^/]+/databases/[^/]+/indexes/[^/]+$". |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Index]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Index> get(core.String name, {core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (name == null) { |
| throw new core.ArgumentError("Parameter name is required."); |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + commons.Escaper.ecapeVariableReserved('$name'); |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new Index.fromJson(data)); |
| } |
| |
| /// Lists the indexes that match the specified filters. |
| /// |
| /// Request parameters: |
| /// |
| /// [parent] - The database name. For example: |
| /// `projects/{project_id}/databases/{database_id}` |
| /// Value must have pattern "^projects/[^/]+/databases/[^/]+$". |
| /// |
| /// [pageSize] - The standard List page size. |
| /// |
| /// [filter] - null |
| /// |
| /// [pageToken] - The standard List page token. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [ListIndexesResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<ListIndexesResponse> list(core.String parent, |
| {core.int pageSize, |
| core.String filter, |
| core.String pageToken, |
| core.String $fields}) { |
| var _url = null; |
| var _queryParams = new core.Map<core.String, core.List<core.String>>(); |
| var _uploadMedia = null; |
| var _uploadOptions = null; |
| var _downloadOptions = commons.DownloadOptions.Metadata; |
| var _body = null; |
| |
| if (parent == null) { |
| throw new core.ArgumentError("Parameter parent is required."); |
| } |
| if (pageSize != null) { |
| _queryParams["pageSize"] = ["${pageSize}"]; |
| } |
| if (filter != null) { |
| _queryParams["filter"] = [filter]; |
| } |
| if (pageToken != null) { |
| _queryParams["pageToken"] = [pageToken]; |
| } |
| if ($fields != null) { |
| _queryParams["fields"] = [$fields]; |
| } |
| |
| _url = 'v1beta1/' + |
| commons.Escaper.ecapeVariableReserved('$parent') + |
| '/indexes'; |
| |
| var _response = _requester.request(_url, "GET", |
| body: _body, |
| queryParams: _queryParams, |
| uploadOptions: _uploadOptions, |
| uploadMedia: _uploadMedia, |
| downloadOptions: _downloadOptions); |
| return _response.then((data) => new ListIndexesResponse.fromJson(data)); |
| } |
| } |
| |
| /// An array value. |
| class ArrayValue { |
| /// Values in the array. |
| core.List<Value> values; |
| |
| ArrayValue(); |
| |
| ArrayValue.fromJson(core.Map _json) { |
| if (_json.containsKey("values")) { |
| values = _json["values"] |
| .map<Value>((value) => new Value.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (values != null) { |
| _json["values"] = values.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The request for Firestore.BatchGetDocuments. |
| class BatchGetDocumentsRequest { |
| /// 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. |
| core.List<core.String> documents; |
| |
| /// 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; |
| |
| /// 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 newTransaction; |
| |
| /// Reads documents as they were at the given time. |
| /// This may not be older than 60 seconds. |
| core.String readTime; |
| |
| /// Reads documents in a transaction. |
| core.String transaction; |
| core.List<core.int> get transactionAsBytes { |
| return convert.BASE64.decode(transaction); |
| } |
| |
| void set transactionAsBytes(core.List<core.int> _bytes) { |
| transaction = |
| convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| BatchGetDocumentsRequest(); |
| |
| BatchGetDocumentsRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("documents")) { |
| documents = _json["documents"]; |
| } |
| if (_json.containsKey("mask")) { |
| mask = new DocumentMask.fromJson(_json["mask"]); |
| } |
| if (_json.containsKey("newTransaction")) { |
| newTransaction = new TransactionOptions.fromJson(_json["newTransaction"]); |
| } |
| if (_json.containsKey("readTime")) { |
| readTime = _json["readTime"]; |
| } |
| if (_json.containsKey("transaction")) { |
| transaction = _json["transaction"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (documents != null) { |
| _json["documents"] = documents; |
| } |
| if (mask != null) { |
| _json["mask"] = (mask).toJson(); |
| } |
| if (newTransaction != null) { |
| _json["newTransaction"] = (newTransaction).toJson(); |
| } |
| if (readTime != null) { |
| _json["readTime"] = readTime; |
| } |
| if (transaction != null) { |
| _json["transaction"] = transaction; |
| } |
| return _json; |
| } |
| } |
| |
| /// The streamed response for Firestore.BatchGetDocuments. |
| class BatchGetDocumentsResponse { |
| /// A document that was requested. |
| Document found; |
| |
| /// A document name that was requested but does not exist. In the format: |
| /// `projects/{project_id}/databases/{database_id}/documents/{document_path}`. |
| core.String missing; |
| |
| /// 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. |
| core.String readTime; |
| |
| /// The transaction that was started as part of this request. |
| /// Will only be set in the first response, and only if |
| /// BatchGetDocumentsRequest.new_transaction was set in the request. |
| core.String transaction; |
| core.List<core.int> get transactionAsBytes { |
| return convert.BASE64.decode(transaction); |
| } |
| |
| void set transactionAsBytes(core.List<core.int> _bytes) { |
| transaction = |
| convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| BatchGetDocumentsResponse(); |
| |
| BatchGetDocumentsResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("found")) { |
| found = new Document.fromJson(_json["found"]); |
| } |
| if (_json.containsKey("missing")) { |
| missing = _json["missing"]; |
| } |
| if (_json.containsKey("readTime")) { |
| readTime = _json["readTime"]; |
| } |
| if (_json.containsKey("transaction")) { |
| transaction = _json["transaction"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (found != null) { |
| _json["found"] = (found).toJson(); |
| } |
| if (missing != null) { |
| _json["missing"] = missing; |
| } |
| if (readTime != null) { |
| _json["readTime"] = readTime; |
| } |
| if (transaction != null) { |
| _json["transaction"] = transaction; |
| } |
| return _json; |
| } |
| } |
| |
| /// The request for Firestore.BeginTransaction. |
| class BeginTransactionRequest { |
| /// The options for the transaction. |
| /// Defaults to a read-write transaction. |
| TransactionOptions options; |
| |
| BeginTransactionRequest(); |
| |
| BeginTransactionRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("options")) { |
| options = new TransactionOptions.fromJson(_json["options"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (options != null) { |
| _json["options"] = (options).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The response for Firestore.BeginTransaction. |
| class BeginTransactionResponse { |
| /// The transaction that was started. |
| core.String transaction; |
| core.List<core.int> get transactionAsBytes { |
| return convert.BASE64.decode(transaction); |
| } |
| |
| void set transactionAsBytes(core.List<core.int> _bytes) { |
| transaction = |
| convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| BeginTransactionResponse(); |
| |
| BeginTransactionResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("transaction")) { |
| transaction = _json["transaction"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (transaction != null) { |
| _json["transaction"] = transaction; |
| } |
| return _json; |
| } |
| } |
| |
| /// A selection of a collection, such as `messages as m1`. |
| class CollectionSelector { |
| /// When false, selects only collections that are immediate children of |
| /// the `parent` specified in the containing `RunQueryRequest`. |
| /// When true, selects all descendant collections. |
| core.bool allDescendants; |
| |
| /// The collection ID. |
| /// When set, selects only collections with this ID. |
| core.String collectionId; |
| |
| CollectionSelector(); |
| |
| CollectionSelector.fromJson(core.Map _json) { |
| if (_json.containsKey("allDescendants")) { |
| allDescendants = _json["allDescendants"]; |
| } |
| if (_json.containsKey("collectionId")) { |
| collectionId = _json["collectionId"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (allDescendants != null) { |
| _json["allDescendants"] = allDescendants; |
| } |
| if (collectionId != null) { |
| _json["collectionId"] = collectionId; |
| } |
| return _json; |
| } |
| } |
| |
| /// The request for Firestore.Commit. |
| class CommitRequest { |
| /// If set, applies all writes in this transaction, and commits it. |
| core.String transaction; |
| core.List<core.int> get transactionAsBytes { |
| return convert.BASE64.decode(transaction); |
| } |
| |
| void set transactionAsBytes(core.List<core.int> _bytes) { |
| transaction = |
| convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| /// The writes to apply. |
| /// |
| /// Always executed atomically and in order. |
| core.List<Write> writes; |
| |
| CommitRequest(); |
| |
| CommitRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("transaction")) { |
| transaction = _json["transaction"]; |
| } |
| if (_json.containsKey("writes")) { |
| writes = _json["writes"] |
| .map<Write>((value) => new Write.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (transaction != null) { |
| _json["transaction"] = transaction; |
| } |
| if (writes != null) { |
| _json["writes"] = writes.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The response for Firestore.Commit. |
| class CommitResponse { |
| /// The time at which the commit occurred. |
| core.String commitTime; |
| |
| /// The result of applying the writes. |
| /// |
| /// This i-th write result corresponds to the i-th write in the |
| /// request. |
| core.List<WriteResult> writeResults; |
| |
| CommitResponse(); |
| |
| CommitResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("commitTime")) { |
| commitTime = _json["commitTime"]; |
| } |
| if (_json.containsKey("writeResults")) { |
| writeResults = _json["writeResults"] |
| .map<WriteResult>((value) => new WriteResult.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (commitTime != null) { |
| _json["commitTime"] = commitTime; |
| } |
| if (writeResults != null) { |
| _json["writeResults"] = |
| writeResults.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A filter that merges multiple other filters using the given operator. |
| class CompositeFilter { |
| /// The list of filters to combine. |
| /// Must contain at least one filter. |
| core.List<Filter> filters; |
| |
| /// The operator for combining multiple filters. |
| /// Possible string values are: |
| /// - "OPERATOR_UNSPECIFIED" : Unspecified. This value must not be used. |
| /// - "AND" : The results are required to satisfy each of the combined |
| /// filters. |
| core.String op; |
| |
| CompositeFilter(); |
| |
| CompositeFilter.fromJson(core.Map _json) { |
| if (_json.containsKey("filters")) { |
| filters = _json["filters"] |
| .map<Filter>((value) => new Filter.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("op")) { |
| op = _json["op"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (filters != null) { |
| _json["filters"] = filters.map((value) => (value).toJson()).toList(); |
| } |
| if (op != null) { |
| _json["op"] = op; |
| } |
| return _json; |
| } |
| } |
| |
| /// A position in a query result set. |
| class Cursor { |
| /// If the position is just before or just after the given values, relative |
| /// to the sort order defined by the query. |
| core.bool before; |
| |
| /// The values that represent a position, in the order they appear in |
| /// the order by clause of a query. |
| /// |
| /// Can contain fewer values than specified in the order by clause. |
| core.List<Value> values; |
| |
| Cursor(); |
| |
| Cursor.fromJson(core.Map _json) { |
| if (_json.containsKey("before")) { |
| before = _json["before"]; |
| } |
| if (_json.containsKey("values")) { |
| values = _json["values"] |
| .map<Value>((value) => new Value.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (before != null) { |
| _json["before"] = before; |
| } |
| if (values != null) { |
| _json["values"] = values.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A Firestore document. |
| /// |
| /// Must not exceed 1 MiB - 4 bytes. |
| class Document { |
| /// Output only. The time at which the document was created. |
| /// |
| /// This value increases monotonically when a document is deleted then |
| /// recreated. It can also be compared to values from other documents and |
| /// the `read_time` of a query. |
| core.String createTime; |
| |
| /// The document's fields. |
| /// |
| /// The map keys represent field names. |
| /// |
| /// A simple field name contains only characters `a` to `z`, `A` to `Z`, |
| /// `0` to `9`, or `_`, and must not start with `0` to `9`. For example, |
| /// `foo_bar_17`. |
| /// |
| /// Field names matching the regular expression `__.*__` are reserved. |
| /// Reserved |
| /// field names are forbidden except in certain documented contexts. The map |
| /// keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be |
| /// empty. |
| /// |
| /// Field paths may be used in other contexts to refer to structured fields |
| /// defined here. For `map_value`, the field path is represented by the simple |
| /// or quoted field names of the containing fields, delimited by `.`. For |
| /// example, the structured field |
| /// `"foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be |
| /// represented by the field path `foo.x&y`. |
| /// |
| /// Within a field path, a quoted field name starts and ends with `` ` `` and |
| /// may contain any character. Some characters, including `` ` ``, must be |
| /// escaped using a `\`. For example, `` `x&y` `` represents `x&y` and |
| /// `` `bak\`tik` `` represents `` bak`tik ``. |
| core.Map<core.String, Value> fields; |
| |
| /// The resource name of the document, for example |
| /// `projects/{project_id}/databases/{database_id}/documents/{document_path}`. |
| core.String name; |
| |
| /// Output only. The time at which the document was last changed. |
| /// |
| /// This value is initally set to the `create_time` then increases |
| /// monotonically with each change to the document. It can also be |
| /// compared to values from other documents and the `read_time` of a query. |
| core.String updateTime; |
| |
| Document(); |
| |
| Document.fromJson(core.Map _json) { |
| if (_json.containsKey("createTime")) { |
| createTime = _json["createTime"]; |
| } |
| if (_json.containsKey("fields")) { |
| fields = commons.mapMap<core.Map<core.String, core.Object>, Value>( |
| _json["fields"], |
| (core.Map<core.String, core.Object> item) => |
| new Value.fromJson(item)); |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("updateTime")) { |
| updateTime = _json["updateTime"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (createTime != null) { |
| _json["createTime"] = createTime; |
| } |
| if (fields != null) { |
| _json["fields"] = |
| commons.mapMap<Value, core.Map<core.String, core.Object>>( |
| fields, (Value item) => (item).toJson()); |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (updateTime != null) { |
| _json["updateTime"] = updateTime; |
| } |
| return _json; |
| } |
| } |
| |
| /// A Document has changed. |
| /// |
| /// May be the result of multiple writes, including deletes, that |
| /// ultimately resulted in a new value for the Document. |
| /// |
| /// Multiple DocumentChange messages may be returned for the same logical |
| /// change, if multiple targets are affected. |
| class DocumentChange { |
| /// The new state of the Document. |
| /// |
| /// If `mask` is set, contains only fields that were updated or added. |
| Document document; |
| |
| /// A set of target IDs for targets that no longer match this document. |
| core.List<core.int> removedTargetIds; |
| |
| /// A set of target IDs of targets that match this document. |
| core.List<core.int> targetIds; |
| |
| DocumentChange(); |
| |
| DocumentChange.fromJson(core.Map _json) { |
| if (_json.containsKey("document")) { |
| document = new Document.fromJson(_json["document"]); |
| } |
| if (_json.containsKey("removedTargetIds")) { |
| removedTargetIds = _json["removedTargetIds"]; |
| } |
| if (_json.containsKey("targetIds")) { |
| targetIds = _json["targetIds"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (document != null) { |
| _json["document"] = (document).toJson(); |
| } |
| if (removedTargetIds != null) { |
| _json["removedTargetIds"] = removedTargetIds; |
| } |
| if (targetIds != null) { |
| _json["targetIds"] = targetIds; |
| } |
| return _json; |
| } |
| } |
| |
| /// A Document has been deleted. |
| /// |
| /// May be the result of multiple writes, including updates, the |
| /// last of which deleted the Document. |
| /// |
| /// Multiple DocumentDelete messages may be returned for the same logical |
| /// delete, if multiple targets are affected. |
| class DocumentDelete { |
| /// The resource name of the Document that was deleted. |
| core.String document; |
| |
| /// The read timestamp at which the delete was observed. |
| /// |
| /// Greater or equal to the `commit_time` of the delete. |
| core.String readTime; |
| |
| /// A set of target IDs for targets that previously matched this entity. |
| core.List<core.int> removedTargetIds; |
| |
| DocumentDelete(); |
| |
| DocumentDelete.fromJson(core.Map _json) { |
| if (_json.containsKey("document")) { |
| document = _json["document"]; |
| } |
| if (_json.containsKey("readTime")) { |
| readTime = _json["readTime"]; |
| } |
| if (_json.containsKey("removedTargetIds")) { |
| removedTargetIds = _json["removedTargetIds"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (document != null) { |
| _json["document"] = document; |
| } |
| if (readTime != null) { |
| _json["readTime"] = readTime; |
| } |
| if (removedTargetIds != null) { |
| _json["removedTargetIds"] = removedTargetIds; |
| } |
| return _json; |
| } |
| } |
| |
| /// A set of field paths on a document. |
| /// Used to restrict a get or update operation on a document to a subset of its |
| /// fields. |
| /// This is different from standard field masks, as this is always scoped to a |
| /// Document, and takes in account the dynamic nature of Value. |
| class DocumentMask { |
| /// The list of field paths in the mask. See Document.fields for a field |
| /// path syntax reference. |
| core.List<core.String> fieldPaths; |
| |
| DocumentMask(); |
| |
| DocumentMask.fromJson(core.Map _json) { |
| if (_json.containsKey("fieldPaths")) { |
| fieldPaths = _json["fieldPaths"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (fieldPaths != null) { |
| _json["fieldPaths"] = fieldPaths; |
| } |
| return _json; |
| } |
| } |
| |
| /// A Document has been removed from the view of the targets. |
| /// |
| /// Sent if the document is no longer relevant to a target and is out of view. |
| /// Can be sent instead of a DocumentDelete or a DocumentChange if the server |
| /// can not send the new value of the document. |
| /// |
| /// Multiple DocumentRemove messages may be returned for the same logical |
| /// write or delete, if multiple targets are affected. |
| class DocumentRemove { |
| /// The resource name of the Document that has gone out of view. |
| core.String document; |
| |
| /// The read timestamp at which the remove was observed. |
| /// |
| /// Greater or equal to the `commit_time` of the change/delete/remove. |
| core.String readTime; |
| |
| /// A set of target IDs for targets that previously matched this document. |
| core.List<core.int> removedTargetIds; |
| |
| DocumentRemove(); |
| |
| DocumentRemove.fromJson(core.Map _json) { |
| if (_json.containsKey("document")) { |
| document = _json["document"]; |
| } |
| if (_json.containsKey("readTime")) { |
| readTime = _json["readTime"]; |
| } |
| if (_json.containsKey("removedTargetIds")) { |
| removedTargetIds = _json["removedTargetIds"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (document != null) { |
| _json["document"] = document; |
| } |
| if (readTime != null) { |
| _json["readTime"] = readTime; |
| } |
| if (removedTargetIds != null) { |
| _json["removedTargetIds"] = removedTargetIds; |
| } |
| return _json; |
| } |
| } |
| |
| /// A transformation of a document. |
| class DocumentTransform { |
| /// The name of the document to transform. |
| core.String document; |
| |
| /// The list of transformations to apply to the fields of the document, in |
| /// order. |
| /// This must not be empty. |
| core.List<FieldTransform> fieldTransforms; |
| |
| DocumentTransform(); |
| |
| DocumentTransform.fromJson(core.Map _json) { |
| if (_json.containsKey("document")) { |
| document = _json["document"]; |
| } |
| if (_json.containsKey("fieldTransforms")) { |
| fieldTransforms = _json["fieldTransforms"] |
| .map<FieldTransform>((value) => new FieldTransform.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (document != null) { |
| _json["document"] = document; |
| } |
| if (fieldTransforms != null) { |
| _json["fieldTransforms"] = |
| fieldTransforms.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A target specified by a set of documents names. |
| class 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. |
| core.List<core.String> documents; |
| |
| DocumentsTarget(); |
| |
| DocumentsTarget.fromJson(core.Map _json) { |
| if (_json.containsKey("documents")) { |
| documents = _json["documents"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (documents != null) { |
| _json["documents"] = documents; |
| } |
| return _json; |
| } |
| } |
| |
| /// A generic empty message that you can re-use to avoid defining duplicated |
| /// empty messages in your APIs. A typical example is to use it as the request |
| /// or the response type of an API method. For instance: |
| /// |
| /// service Foo { |
| /// rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); |
| /// } |
| /// |
| /// The JSON representation for `Empty` is empty JSON object `{}`. |
| class Empty { |
| Empty(); |
| |
| Empty.fromJson(core.Map _json) {} |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| return _json; |
| } |
| } |
| |
| /// A digest of all the documents that match a given target. |
| class ExistenceFilter { |
| /// The total count of documents that match target_id. |
| /// |
| /// If different from the count of documents in the client that match, the |
| /// client must manually determine which documents no longer match the target. |
| core.int count; |
| |
| /// The target ID to which this filter applies. |
| core.int targetId; |
| |
| ExistenceFilter(); |
| |
| ExistenceFilter.fromJson(core.Map _json) { |
| if (_json.containsKey("count")) { |
| count = _json["count"]; |
| } |
| if (_json.containsKey("targetId")) { |
| targetId = _json["targetId"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (count != null) { |
| _json["count"] = count; |
| } |
| if (targetId != null) { |
| _json["targetId"] = targetId; |
| } |
| return _json; |
| } |
| } |
| |
| /// A filter on a specific field. |
| class FieldFilter { |
| /// The field to filter by. |
| FieldReference field; |
| |
| /// The operator to filter by. |
| /// Possible string values are: |
| /// - "OPERATOR_UNSPECIFIED" : Unspecified. This value must not be used. |
| /// - "LESS_THAN" : Less than. Requires that the field come first in |
| /// `order_by`. |
| /// - "LESS_THAN_OR_EQUAL" : Less than or equal. Requires that the field come |
| /// first in `order_by`. |
| /// - "GREATER_THAN" : Greater than. Requires that the field come first in |
| /// `order_by`. |
| /// - "GREATER_THAN_OR_EQUAL" : Greater than or equal. Requires that the field |
| /// come first in |
| /// `order_by`. |
| /// - "EQUAL" : Equal. |
| core.String op; |
| |
| /// The value to compare to. |
| Value value; |
| |
| FieldFilter(); |
| |
| FieldFilter.fromJson(core.Map _json) { |
| if (_json.containsKey("field")) { |
| field = new FieldReference.fromJson(_json["field"]); |
| } |
| if (_json.containsKey("op")) { |
| op = _json["op"]; |
| } |
| if (_json.containsKey("value")) { |
| value = new Value.fromJson(_json["value"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (field != null) { |
| _json["field"] = (field).toJson(); |
| } |
| if (op != null) { |
| _json["op"] = op; |
| } |
| if (value != null) { |
| _json["value"] = (value).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A reference to a field, such as `max(messages.time) as max_time`. |
| class FieldReference { |
| core.String fieldPath; |
| |
| FieldReference(); |
| |
| FieldReference.fromJson(core.Map _json) { |
| if (_json.containsKey("fieldPath")) { |
| fieldPath = _json["fieldPath"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (fieldPath != null) { |
| _json["fieldPath"] = fieldPath; |
| } |
| return _json; |
| } |
| } |
| |
| /// A transformation of a field of the document. |
| class FieldTransform { |
| /// The path of the field. See Document.fields for the field path syntax |
| /// reference. |
| core.String fieldPath; |
| |
| /// Sets the field to the given server value. |
| /// Possible string values are: |
| /// - "SERVER_VALUE_UNSPECIFIED" : Unspecified. This value must not be used. |
| /// - "REQUEST_TIME" : The time at which the server processed the request, |
| /// with millisecond |
| /// precision. |
| core.String setToServerValue; |
| |
| FieldTransform(); |
| |
| FieldTransform.fromJson(core.Map _json) { |
| if (_json.containsKey("fieldPath")) { |
| fieldPath = _json["fieldPath"]; |
| } |
| if (_json.containsKey("setToServerValue")) { |
| setToServerValue = _json["setToServerValue"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (fieldPath != null) { |
| _json["fieldPath"] = fieldPath; |
| } |
| if (setToServerValue != null) { |
| _json["setToServerValue"] = setToServerValue; |
| } |
| return _json; |
| } |
| } |
| |
| /// A filter. |
| class Filter { |
| /// A composite filter. |
| CompositeFilter compositeFilter; |
| |
| /// A filter on a document field. |
| FieldFilter fieldFilter; |
| |
| /// A filter that takes exactly one argument. |
| UnaryFilter unaryFilter; |
| |
| Filter(); |
| |
| Filter.fromJson(core.Map _json) { |
| if (_json.containsKey("compositeFilter")) { |
| compositeFilter = new CompositeFilter.fromJson(_json["compositeFilter"]); |
| } |
| if (_json.containsKey("fieldFilter")) { |
| fieldFilter = new FieldFilter.fromJson(_json["fieldFilter"]); |
| } |
| if (_json.containsKey("unaryFilter")) { |
| unaryFilter = new UnaryFilter.fromJson(_json["unaryFilter"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (compositeFilter != null) { |
| _json["compositeFilter"] = (compositeFilter).toJson(); |
| } |
| if (fieldFilter != null) { |
| _json["fieldFilter"] = (fieldFilter).toJson(); |
| } |
| if (unaryFilter != null) { |
| _json["unaryFilter"] = (unaryFilter).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// An index definition. |
| class Index { |
| /// The collection ID to which this index applies. Required. |
| core.String collectionId; |
| |
| /// The fields to index. |
| core.List<IndexField> fields; |
| |
| /// The resource name of the index. |
| /// Output only. |
| core.String name; |
| |
| /// The state of the index. |
| /// Output only. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : The state is unspecified. |
| /// - "CREATING" : The index is being created. |
| /// There is an active long-running operation for the index. |
| /// The index is updated when writing a document. |
| /// Some index data may exist. |
| /// - "READY" : The index is ready to be used. |
| /// The index is updated when writing a document. |
| /// The index is fully populated from all stored documents it applies to. |
| /// - "ERROR" : The index was being created, but something went wrong. |
| /// There is no active long-running operation for the index, |
| /// and the most recently finished long-running operation failed. |
| /// The index is not updated when writing a document. |
| /// Some index data may exist. |
| core.String state; |
| |
| Index(); |
| |
| Index.fromJson(core.Map _json) { |
| if (_json.containsKey("collectionId")) { |
| collectionId = _json["collectionId"]; |
| } |
| if (_json.containsKey("fields")) { |
| fields = _json["fields"] |
| .map<IndexField>((value) => new IndexField.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("state")) { |
| state = _json["state"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (collectionId != null) { |
| _json["collectionId"] = collectionId; |
| } |
| if (fields != null) { |
| _json["fields"] = fields.map((value) => (value).toJson()).toList(); |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (state != null) { |
| _json["state"] = state; |
| } |
| return _json; |
| } |
| } |
| |
| /// A field of an index. |
| class IndexField { |
| /// The path of the field. Must match the field path specification described |
| /// by google.firestore.v1beta1.Document.fields. |
| /// Special field path `__name__` may be used by itself or at the end of a |
| /// path. `__type__` may be used only at the end of path. |
| core.String fieldPath; |
| |
| /// The field's mode. |
| /// Possible string values are: |
| /// - "MODE_UNSPECIFIED" : The mode is unspecified. |
| /// - "ASCENDING" : The field's values are indexed so as to support sequencing |
| /// in |
| /// ascending order and also query by <, >, <=, >=, and =. |
| /// - "DESCENDING" : The field's values are indexed so as to support |
| /// sequencing in |
| /// descending order and also query by <, >, <=, >=, and =. |
| core.String mode; |
| |
| IndexField(); |
| |
| IndexField.fromJson(core.Map _json) { |
| if (_json.containsKey("fieldPath")) { |
| fieldPath = _json["fieldPath"]; |
| } |
| if (_json.containsKey("mode")) { |
| mode = _json["mode"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (fieldPath != null) { |
| _json["fieldPath"] = fieldPath; |
| } |
| if (mode != null) { |
| _json["mode"] = mode; |
| } |
| return _json; |
| } |
| } |
| |
| /// An object representing a latitude/longitude pair. This is expressed as a |
| /// pair |
| /// of doubles representing degrees latitude and degrees longitude. Unless |
| /// specified otherwise, this must conform to the |
| /// <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84 |
| /// standard</a>. Values must be within normalized ranges. |
| class LatLng { |
| /// The latitude in degrees. It must be in the range [-90.0, +90.0]. |
| core.double latitude; |
| |
| /// The longitude in degrees. It must be in the range [-180.0, +180.0]. |
| core.double longitude; |
| |
| LatLng(); |
| |
| LatLng.fromJson(core.Map _json) { |
| if (_json.containsKey("latitude")) { |
| latitude = _json["latitude"]; |
| } |
| if (_json.containsKey("longitude")) { |
| longitude = _json["longitude"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (latitude != null) { |
| _json["latitude"] = latitude; |
| } |
| if (longitude != null) { |
| _json["longitude"] = longitude; |
| } |
| return _json; |
| } |
| } |
| |
| /// The request for Firestore.ListCollectionIds. |
| class ListCollectionIdsRequest { |
| /// The maximum number of results to return. |
| core.int pageSize; |
| |
| /// A page token. Must be a value from |
| /// ListCollectionIdsResponse. |
| core.String pageToken; |
| |
| ListCollectionIdsRequest(); |
| |
| ListCollectionIdsRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("pageSize")) { |
| pageSize = _json["pageSize"]; |
| } |
| if (_json.containsKey("pageToken")) { |
| pageToken = _json["pageToken"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (pageSize != null) { |
| _json["pageSize"] = pageSize; |
| } |
| if (pageToken != null) { |
| _json["pageToken"] = pageToken; |
| } |
| return _json; |
| } |
| } |
| |
| /// The response from Firestore.ListCollectionIds. |
| class ListCollectionIdsResponse { |
| /// The collection ids. |
| core.List<core.String> collectionIds; |
| |
| /// A page token that may be used to continue the list. |
| core.String nextPageToken; |
| |
| ListCollectionIdsResponse(); |
| |
| ListCollectionIdsResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("collectionIds")) { |
| collectionIds = _json["collectionIds"]; |
| } |
| if (_json.containsKey("nextPageToken")) { |
| nextPageToken = _json["nextPageToken"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (collectionIds != null) { |
| _json["collectionIds"] = collectionIds; |
| } |
| if (nextPageToken != null) { |
| _json["nextPageToken"] = nextPageToken; |
| } |
| return _json; |
| } |
| } |
| |
| /// The response for Firestore.ListDocuments. |
| class ListDocumentsResponse { |
| /// The Documents found. |
| core.List<Document> documents; |
| |
| /// The next page token. |
| core.String nextPageToken; |
| |
| ListDocumentsResponse(); |
| |
| ListDocumentsResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("documents")) { |
| documents = _json["documents"] |
| .map<Document>((value) => new Document.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("nextPageToken")) { |
| nextPageToken = _json["nextPageToken"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (documents != null) { |
| _json["documents"] = documents.map((value) => (value).toJson()).toList(); |
| } |
| if (nextPageToken != null) { |
| _json["nextPageToken"] = nextPageToken; |
| } |
| return _json; |
| } |
| } |
| |
| /// The response for FirestoreAdmin.ListIndexes. |
| class ListIndexesResponse { |
| /// The indexes. |
| core.List<Index> indexes; |
| |
| /// The standard List next-page token. |
| core.String nextPageToken; |
| |
| ListIndexesResponse(); |
| |
| ListIndexesResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("indexes")) { |
| indexes = _json["indexes"] |
| .map<Index>((value) => new Index.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("nextPageToken")) { |
| nextPageToken = _json["nextPageToken"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (indexes != null) { |
| _json["indexes"] = indexes.map((value) => (value).toJson()).toList(); |
| } |
| if (nextPageToken != null) { |
| _json["nextPageToken"] = nextPageToken; |
| } |
| return _json; |
| } |
| } |
| |
| /// A request for Firestore.Listen |
| class ListenRequest { |
| /// A target to add to this stream. |
| Target addTarget; |
| |
| /// Labels associated with this target change. |
| core.Map<core.String, core.String> labels; |
| |
| /// The ID of a target to remove from this stream. |
| core.int removeTarget; |
| |
| ListenRequest(); |
| |
| ListenRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("addTarget")) { |
| addTarget = new Target.fromJson(_json["addTarget"]); |
| } |
| if (_json.containsKey("labels")) { |
| labels = _json["labels"]; |
| } |
| if (_json.containsKey("removeTarget")) { |
| removeTarget = _json["removeTarget"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (addTarget != null) { |
| _json["addTarget"] = (addTarget).toJson(); |
| } |
| if (labels != null) { |
| _json["labels"] = labels; |
| } |
| if (removeTarget != null) { |
| _json["removeTarget"] = removeTarget; |
| } |
| return _json; |
| } |
| } |
| |
| /// The response for Firestore.Listen. |
| class ListenResponse { |
| /// A Document has changed. |
| DocumentChange documentChange; |
| |
| /// A Document has been deleted. |
| DocumentDelete documentDelete; |
| |
| /// A Document has been removed from a target (because it is no longer |
| /// relevant to that target). |
| DocumentRemove documentRemove; |
| |
| /// 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; |
| |
| /// Targets have changed. |
| TargetChange targetChange; |
| |
| ListenResponse(); |
| |
| ListenResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("documentChange")) { |
| documentChange = new DocumentChange.fromJson(_json["documentChange"]); |
| } |
| if (_json.containsKey("documentDelete")) { |
| documentDelete = new DocumentDelete.fromJson(_json["documentDelete"]); |
| } |
| if (_json.containsKey("documentRemove")) { |
| documentRemove = new DocumentRemove.fromJson(_json["documentRemove"]); |
| } |
| if (_json.containsKey("filter")) { |
| filter = new ExistenceFilter.fromJson(_json["filter"]); |
| } |
| if (_json.containsKey("targetChange")) { |
| targetChange = new TargetChange.fromJson(_json["targetChange"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (documentChange != null) { |
| _json["documentChange"] = (documentChange).toJson(); |
| } |
| if (documentDelete != null) { |
| _json["documentDelete"] = (documentDelete).toJson(); |
| } |
| if (documentRemove != null) { |
| _json["documentRemove"] = (documentRemove).toJson(); |
| } |
| if (filter != null) { |
| _json["filter"] = (filter).toJson(); |
| } |
| if (targetChange != null) { |
| _json["targetChange"] = (targetChange).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A map value. |
| class MapValue { |
| /// The map's fields. |
| /// |
| /// The map keys represent field names. Field names matching the regular |
| /// expression `__.*__` are reserved. Reserved field names are forbidden |
| /// except |
| /// in certain documented contexts. The map keys, represented as UTF-8, must |
| /// not exceed 1,500 bytes and cannot be empty. |
| core.Map<core.String, Value> fields; |
| |
| MapValue(); |
| |
| MapValue.fromJson(core.Map _json) { |
| if (_json.containsKey("fields")) { |
| fields = commons.mapMap<core.Map<core.String, core.Object>, Value>( |
| _json["fields"], |
| (core.Map<core.String, core.Object> item) => |
| new Value.fromJson(item)); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (fields != null) { |
| _json["fields"] = |
| commons.mapMap<Value, core.Map<core.String, core.Object>>( |
| fields, (Value item) => (item).toJson()); |
| } |
| return _json; |
| } |
| } |
| |
| /// This resource represents a long-running operation that is the result of a |
| /// network API call. |
| class Operation { |
| /// If the value is `false`, it means the operation is still in progress. |
| /// If `true`, the operation is completed, and either `error` or `response` is |
| /// available. |
| core.bool done; |
| |
| /// The error result of the operation in case of failure or cancellation. |
| Status error; |
| |
| /// Service-specific metadata associated with the operation. It typically |
| /// contains progress information and common metadata such as create time. |
| /// Some services might not provide such metadata. Any method that returns a |
| /// long-running operation should document the metadata type, if any. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object> metadata; |
| |
| /// The server-assigned name, which is only unique within the same service |
| /// that |
| /// originally returns it. If you use the default HTTP mapping, the |
| /// `name` should have the format of `operations/some/unique/name`. |
| core.String name; |
| |
| /// The normal response of the operation in case of success. If the original |
| /// method returns no data on success, such as `Delete`, the response is |
| /// `google.protobuf.Empty`. If the original method is standard |
| /// `Get`/`Create`/`Update`, the response should be the resource. For other |
| /// methods, the response should have the type `XxxResponse`, where `Xxx` |
| /// is the original method name. For example, if the original method name |
| /// is `TakeSnapshot()`, the inferred response type is |
| /// `TakeSnapshotResponse`. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.Map<core.String, core.Object> response; |
| |
| Operation(); |
| |
| Operation.fromJson(core.Map _json) { |
| if (_json.containsKey("done")) { |
| done = _json["done"]; |
| } |
| if (_json.containsKey("error")) { |
| error = new Status.fromJson(_json["error"]); |
| } |
| if (_json.containsKey("metadata")) { |
| metadata = _json["metadata"]; |
| } |
| if (_json.containsKey("name")) { |
| name = _json["name"]; |
| } |
| if (_json.containsKey("response")) { |
| response = _json["response"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (done != null) { |
| _json["done"] = done; |
| } |
| if (error != null) { |
| _json["error"] = (error).toJson(); |
| } |
| if (metadata != null) { |
| _json["metadata"] = metadata; |
| } |
| if (name != null) { |
| _json["name"] = name; |
| } |
| if (response != null) { |
| _json["response"] = response; |
| } |
| return _json; |
| } |
| } |
| |
| /// An order on a field. |
| class Order { |
| /// The direction to order by. Defaults to `ASCENDING`. |
| /// Possible string values are: |
| /// - "DIRECTION_UNSPECIFIED" : Unspecified. |
| /// - "ASCENDING" : Ascending. |
| /// - "DESCENDING" : Descending. |
| core.String direction; |
| |
| /// The field to order by. |
| FieldReference field; |
| |
| Order(); |
| |
| Order.fromJson(core.Map _json) { |
| if (_json.containsKey("direction")) { |
| direction = _json["direction"]; |
| } |
| if (_json.containsKey("field")) { |
| field = new FieldReference.fromJson(_json["field"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (direction != null) { |
| _json["direction"] = direction; |
| } |
| if (field != null) { |
| _json["field"] = (field).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A precondition on a document, used for conditional operations. |
| class Precondition { |
| /// When set to `true`, the target document must exist. |
| /// When set to `false`, the target document must not exist. |
| core.bool exists; |
| |
| /// When set, the target document must exist and have been last updated at |
| /// that time. |
| core.String updateTime; |
| |
| Precondition(); |
| |
| Precondition.fromJson(core.Map _json) { |
| if (_json.containsKey("exists")) { |
| exists = _json["exists"]; |
| } |
| if (_json.containsKey("updateTime")) { |
| updateTime = _json["updateTime"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (exists != null) { |
| _json["exists"] = exists; |
| } |
| if (updateTime != null) { |
| _json["updateTime"] = updateTime; |
| } |
| return _json; |
| } |
| } |
| |
| /// The projection of document's fields to return. |
| class Projection { |
| /// The fields to return. |
| /// |
| /// If empty, all fields are returned. To only return the name |
| /// of the document, use `['__name__']`. |
| core.List<FieldReference> fields; |
| |
| Projection(); |
| |
| Projection.fromJson(core.Map _json) { |
| if (_json.containsKey("fields")) { |
| fields = _json["fields"] |
| .map<FieldReference>((value) => new FieldReference.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (fields != null) { |
| _json["fields"] = fields.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A target specified by a query. |
| class 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` |
| core.String parent; |
| |
| /// A structured query. |
| StructuredQuery structuredQuery; |
| |
| QueryTarget(); |
| |
| QueryTarget.fromJson(core.Map _json) { |
| if (_json.containsKey("parent")) { |
| parent = _json["parent"]; |
| } |
| if (_json.containsKey("structuredQuery")) { |
| structuredQuery = new StructuredQuery.fromJson(_json["structuredQuery"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (parent != null) { |
| _json["parent"] = parent; |
| } |
| if (structuredQuery != null) { |
| _json["structuredQuery"] = (structuredQuery).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// Options for a transaction that can only be used to read documents. |
| class ReadOnly { |
| /// Reads documents at the given time. |
| /// This may not be older than 60 seconds. |
| core.String readTime; |
| |
| ReadOnly(); |
| |
| ReadOnly.fromJson(core.Map _json) { |
| if (_json.containsKey("readTime")) { |
| readTime = _json["readTime"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (readTime != null) { |
| _json["readTime"] = readTime; |
| } |
| return _json; |
| } |
| } |
| |
| /// Options for a transaction that can be used to read and write documents. |
| class ReadWrite { |
| /// An optional transaction to retry. |
| core.String retryTransaction; |
| core.List<core.int> get retryTransactionAsBytes { |
| return convert.BASE64.decode(retryTransaction); |
| } |
| |
| void set retryTransactionAsBytes(core.List<core.int> _bytes) { |
| retryTransaction = |
| convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| ReadWrite(); |
| |
| ReadWrite.fromJson(core.Map _json) { |
| if (_json.containsKey("retryTransaction")) { |
| retryTransaction = _json["retryTransaction"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (retryTransaction != null) { |
| _json["retryTransaction"] = retryTransaction; |
| } |
| return _json; |
| } |
| } |
| |
| /// The request for Firestore.Rollback. |
| class RollbackRequest { |
| /// The transaction to roll back. |
| core.String transaction; |
| core.List<core.int> get transactionAsBytes { |
| return convert.BASE64.decode(transaction); |
| } |
| |
| void set transactionAsBytes(core.List<core.int> _bytes) { |
| transaction = |
| convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| RollbackRequest(); |
| |
| RollbackRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("transaction")) { |
| transaction = _json["transaction"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (transaction != null) { |
| _json["transaction"] = transaction; |
| } |
| return _json; |
| } |
| } |
| |
| /// The request for Firestore.RunQuery. |
| class RunQueryRequest { |
| /// 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 newTransaction; |
| |
| /// Reads documents as they were at the given time. |
| /// This may not be older than 60 seconds. |
| core.String readTime; |
| |
| /// A structured query. |
| StructuredQuery structuredQuery; |
| |
| /// Reads documents in a transaction. |
| core.String transaction; |
| core.List<core.int> get transactionAsBytes { |
| return convert.BASE64.decode(transaction); |
| } |
| |
| void set transactionAsBytes(core.List<core.int> _bytes) { |
| transaction = |
| convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| RunQueryRequest(); |
| |
| RunQueryRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("newTransaction")) { |
| newTransaction = new TransactionOptions.fromJson(_json["newTransaction"]); |
| } |
| if (_json.containsKey("readTime")) { |
| readTime = _json["readTime"]; |
| } |
| if (_json.containsKey("structuredQuery")) { |
| structuredQuery = new StructuredQuery.fromJson(_json["structuredQuery"]); |
| } |
| if (_json.containsKey("transaction")) { |
| transaction = _json["transaction"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (newTransaction != null) { |
| _json["newTransaction"] = (newTransaction).toJson(); |
| } |
| if (readTime != null) { |
| _json["readTime"] = readTime; |
| } |
| if (structuredQuery != null) { |
| _json["structuredQuery"] = (structuredQuery).toJson(); |
| } |
| if (transaction != null) { |
| _json["transaction"] = transaction; |
| } |
| return _json; |
| } |
| } |
| |
| /// The response for Firestore.RunQuery. |
| class RunQueryResponse { |
| /// A query result. |
| /// Not set when reporting partial progress. |
| Document document; |
| |
| /// 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. |
| core.String readTime; |
| |
| /// The number of results that have been skipped due to an offset between |
| /// the last response and the current response. |
| core.int skippedResults; |
| |
| /// The transaction that was started as part of this request. |
| /// Can only be set in the first response, and only if |
| /// RunQueryRequest.new_transaction was set in the request. |
| /// If set, no other fields will be set in this response. |
| core.String transaction; |
| core.List<core.int> get transactionAsBytes { |
| return convert.BASE64.decode(transaction); |
| } |
| |
| void set transactionAsBytes(core.List<core.int> _bytes) { |
| transaction = |
| convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| RunQueryResponse(); |
| |
| RunQueryResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("document")) { |
| document = new Document.fromJson(_json["document"]); |
| } |
| if (_json.containsKey("readTime")) { |
| readTime = _json["readTime"]; |
| } |
| if (_json.containsKey("skippedResults")) { |
| skippedResults = _json["skippedResults"]; |
| } |
| if (_json.containsKey("transaction")) { |
| transaction = _json["transaction"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (document != null) { |
| _json["document"] = (document).toJson(); |
| } |
| if (readTime != null) { |
| _json["readTime"] = readTime; |
| } |
| if (skippedResults != null) { |
| _json["skippedResults"] = skippedResults; |
| } |
| if (transaction != null) { |
| _json["transaction"] = transaction; |
| } |
| return _json; |
| } |
| } |
| |
| /// The `Status` type defines a logical error model that is suitable for |
| /// different |
| /// programming environments, including REST APIs and RPC APIs. It is used by |
| /// [gRPC](https://github.com/grpc). The error model is designed to be: |
| /// |
| /// - Simple to use and understand for most users |
| /// - Flexible enough to meet unexpected needs |
| /// |
| /// # Overview |
| /// |
| /// The `Status` message contains three pieces of data: error code, error |
| /// message, |
| /// and error details. The error code should be an enum value of |
| /// google.rpc.Code, but it may accept additional error codes if needed. The |
| /// error message should be a developer-facing English message that helps |
| /// developers *understand* and *resolve* the error. If a localized user-facing |
| /// error message is needed, put the localized message in the error details or |
| /// localize it in the client. The optional error details may contain arbitrary |
| /// information about the error. There is a predefined set of error detail types |
| /// in the package `google.rpc` that can be used for common error conditions. |
| /// |
| /// # Language mapping |
| /// |
| /// The `Status` message is the logical representation of the error model, but |
| /// it |
| /// is not necessarily the actual wire format. When the `Status` message is |
| /// exposed in different client libraries and different wire protocols, it can |
| /// be |
| /// mapped differently. For example, it will likely be mapped to some exceptions |
| /// in Java, but more likely mapped to some error codes in C. |
| /// |
| /// # Other uses |
| /// |
| /// The error model and the `Status` message can be used in a variety of |
| /// environments, either with or without APIs, to provide a |
| /// consistent developer experience across different environments. |
| /// |
| /// Example uses of this error model include: |
| /// |
| /// - Partial errors. If a service needs to return partial errors to the client, |
| /// it may embed the `Status` in the normal response to indicate the partial |
| /// errors. |
| /// |
| /// - Workflow errors. A typical workflow has multiple steps. Each step may |
| /// have a `Status` message for error reporting. |
| /// |
| /// - Batch operations. If a client uses batch request and batch response, the |
| /// `Status` message should be used directly inside batch response, one for |
| /// each error sub-response. |
| /// |
| /// - Asynchronous operations. If an API call embeds asynchronous operation |
| /// results in its response, the status of those operations should be |
| /// represented directly using the `Status` message. |
| /// |
| /// - Logging. If some API errors are stored in logs, the message `Status` could |
| /// be used directly after any stripping needed for security/privacy reasons. |
| class Status { |
| /// The status code, which should be an enum value of google.rpc.Code. |
| core.int code; |
| |
| /// A list of messages that carry the error details. There is a common set of |
| /// message types for APIs to use. |
| /// |
| /// The values for Object must be JSON objects. It can consist of `num`, |
| /// `String`, `bool` and `null` as well as `Map` and `List` values. |
| core.List<core.Map<core.String, core.Object>> details; |
| |
| /// A developer-facing error message, which should be in English. Any |
| /// user-facing error message should be localized and sent in the |
| /// google.rpc.Status.details field, or localized by the client. |
| core.String message; |
| |
| Status(); |
| |
| Status.fromJson(core.Map _json) { |
| if (_json.containsKey("code")) { |
| code = _json["code"]; |
| } |
| if (_json.containsKey("details")) { |
| details = _json["details"]; |
| } |
| if (_json.containsKey("message")) { |
| message = _json["message"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (code != null) { |
| _json["code"] = code; |
| } |
| if (details != null) { |
| _json["details"] = details; |
| } |
| if (message != null) { |
| _json["message"] = message; |
| } |
| return _json; |
| } |
| } |
| |
| /// A Firestore query. |
| class StructuredQuery { |
| /// A end point for the query results. |
| Cursor endAt; |
| |
| /// The collections to query. |
| core.List<CollectionSelector> from; |
| |
| /// The maximum number of results to return. |
| /// |
| /// Applies after all other constraints. |
| /// Must be >= 0 if specified. |
| core.int limit; |
| |
| /// The number of results to skip. |
| /// |
| /// Applies before limit, but after all other constraints. Must be >= 0 if |
| /// specified. |
| core.int offset; |
| |
| /// The order to apply to the query results. |
| /// |
| /// Firestore guarantees a stable ordering through the following rules: |
| /// |
| /// * Any field required to appear in `order_by`, that is not already |
| /// specified in `order_by`, is appended to the order in field name order |
| /// by default. |
| /// * If an order on `__name__` is not specified, it is appended by default. |
| /// |
| /// Fields are appended with the same sort direction as the last order |
| /// specified, or 'ASCENDING' if no order was specified. For example: |
| /// |
| /// * `SELECT * FROM Foo ORDER BY A` becomes |
| /// `SELECT * FROM Foo ORDER BY A, __name__` |
| /// * `SELECT * FROM Foo ORDER BY A DESC` becomes |
| /// `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC` |
| /// * `SELECT * FROM Foo WHERE A > 1` becomes |
| /// `SELECT * FROM Foo WHERE A > 1 ORDER BY A, __name__` |
| core.List<Order> orderBy; |
| |
| /// The projection to return. |
| Projection select; |
| |
| /// A starting point for the query results. |
| Cursor startAt; |
| |
| /// The filter to apply. |
| Filter where; |
| |
| StructuredQuery(); |
| |
| StructuredQuery.fromJson(core.Map _json) { |
| if (_json.containsKey("endAt")) { |
| endAt = new Cursor.fromJson(_json["endAt"]); |
| } |
| if (_json.containsKey("from")) { |
| from = _json["from"] |
| .map<CollectionSelector>( |
| (value) => new CollectionSelector.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("limit")) { |
| limit = _json["limit"]; |
| } |
| if (_json.containsKey("offset")) { |
| offset = _json["offset"]; |
| } |
| if (_json.containsKey("orderBy")) { |
| orderBy = _json["orderBy"] |
| .map<Order>((value) => new Order.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("select")) { |
| select = new Projection.fromJson(_json["select"]); |
| } |
| if (_json.containsKey("startAt")) { |
| startAt = new Cursor.fromJson(_json["startAt"]); |
| } |
| if (_json.containsKey("where")) { |
| where = new Filter.fromJson(_json["where"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (endAt != null) { |
| _json["endAt"] = (endAt).toJson(); |
| } |
| if (from != null) { |
| _json["from"] = from.map((value) => (value).toJson()).toList(); |
| } |
| if (limit != null) { |
| _json["limit"] = limit; |
| } |
| if (offset != null) { |
| _json["offset"] = offset; |
| } |
| if (orderBy != null) { |
| _json["orderBy"] = orderBy.map((value) => (value).toJson()).toList(); |
| } |
| if (select != null) { |
| _json["select"] = (select).toJson(); |
| } |
| if (startAt != null) { |
| _json["startAt"] = (startAt).toJson(); |
| } |
| if (where != null) { |
| _json["where"] = (where).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A specification of a set of documents to listen to. |
| class Target { |
| /// A target specified by a set of document names. |
| DocumentsTarget documents; |
| |
| /// If the target should be removed once it is current and consistent. |
| core.bool once; |
| |
| /// A target specified by a query. |
| QueryTarget query; |
| |
| /// Start listening after a specific `read_time`. |
| /// |
| /// The client must know the state of matching documents at this time. |
| core.String readTime; |
| |
| /// A resume token from a prior TargetChange for an identical target. |
| /// |
| /// Using a resume token with a different target is unsupported and may fail. |
| core.String resumeToken; |
| core.List<core.int> get resumeTokenAsBytes { |
| return convert.BASE64.decode(resumeToken); |
| } |
| |
| void set resumeTokenAsBytes(core.List<core.int> _bytes) { |
| resumeToken = |
| convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| /// 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. |
| core.int targetId; |
| |
| Target(); |
| |
| Target.fromJson(core.Map _json) { |
| if (_json.containsKey("documents")) { |
| documents = new DocumentsTarget.fromJson(_json["documents"]); |
| } |
| if (_json.containsKey("once")) { |
| once = _json["once"]; |
| } |
| if (_json.containsKey("query")) { |
| query = new QueryTarget.fromJson(_json["query"]); |
| } |
| if (_json.containsKey("readTime")) { |
| readTime = _json["readTime"]; |
| } |
| if (_json.containsKey("resumeToken")) { |
| resumeToken = _json["resumeToken"]; |
| } |
| if (_json.containsKey("targetId")) { |
| targetId = _json["targetId"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (documents != null) { |
| _json["documents"] = (documents).toJson(); |
| } |
| if (once != null) { |
| _json["once"] = once; |
| } |
| if (query != null) { |
| _json["query"] = (query).toJson(); |
| } |
| if (readTime != null) { |
| _json["readTime"] = readTime; |
| } |
| if (resumeToken != null) { |
| _json["resumeToken"] = resumeToken; |
| } |
| if (targetId != null) { |
| _json["targetId"] = targetId; |
| } |
| return _json; |
| } |
| } |
| |
| /// Targets being watched have changed. |
| class TargetChange { |
| /// The error that resulted in this change, if applicable. |
| Status cause; |
| |
| /// 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. |
| core.String readTime; |
| |
| /// 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. |
| core.String resumeToken; |
| core.List<core.int> get resumeTokenAsBytes { |
| return convert.BASE64.decode(resumeToken); |
| } |
| |
| void set resumeTokenAsBytes(core.List<core.int> _bytes) { |
| resumeToken = |
| convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| /// The type of change that occurred. |
| /// Possible string values are: |
| /// - "NO_CHANGE" : No change has occurred. Used only to send an updated |
| /// `resume_token`. |
| /// - "ADD" : The targets have been added. |
| /// - "REMOVE" : The targets have been removed. |
| /// - "CURRENT" : 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. |
| /// - "RESET" : 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`. |
| core.String targetChangeType; |
| |
| /// 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. |
| core.List<core.int> targetIds; |
| |
| TargetChange(); |
| |
| TargetChange.fromJson(core.Map _json) { |
| if (_json.containsKey("cause")) { |
| cause = new Status.fromJson(_json["cause"]); |
| } |
| if (_json.containsKey("readTime")) { |
| readTime = _json["readTime"]; |
| } |
| if (_json.containsKey("resumeToken")) { |
| resumeToken = _json["resumeToken"]; |
| } |
| if (_json.containsKey("targetChangeType")) { |
| targetChangeType = _json["targetChangeType"]; |
| } |
| if (_json.containsKey("targetIds")) { |
| targetIds = _json["targetIds"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (cause != null) { |
| _json["cause"] = (cause).toJson(); |
| } |
| if (readTime != null) { |
| _json["readTime"] = readTime; |
| } |
| if (resumeToken != null) { |
| _json["resumeToken"] = resumeToken; |
| } |
| if (targetChangeType != null) { |
| _json["targetChangeType"] = targetChangeType; |
| } |
| if (targetIds != null) { |
| _json["targetIds"] = targetIds; |
| } |
| return _json; |
| } |
| } |
| |
| /// Options for creating a new transaction. |
| class TransactionOptions { |
| /// The transaction can only be used for read operations. |
| ReadOnly readOnly; |
| |
| /// The transaction can be used for both read and write operations. |
| ReadWrite readWrite; |
| |
| TransactionOptions(); |
| |
| TransactionOptions.fromJson(core.Map _json) { |
| if (_json.containsKey("readOnly")) { |
| readOnly = new ReadOnly.fromJson(_json["readOnly"]); |
| } |
| if (_json.containsKey("readWrite")) { |
| readWrite = new ReadWrite.fromJson(_json["readWrite"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (readOnly != null) { |
| _json["readOnly"] = (readOnly).toJson(); |
| } |
| if (readWrite != null) { |
| _json["readWrite"] = (readWrite).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// A filter with a single operand. |
| class UnaryFilter { |
| /// The field to which to apply the operator. |
| FieldReference field; |
| |
| /// The unary operator to apply. |
| /// Possible string values are: |
| /// - "OPERATOR_UNSPECIFIED" : Unspecified. This value must not be used. |
| /// - "IS_NAN" : Test if a field is equal to NaN. |
| /// - "IS_NULL" : Test if an exprestion evaluates to Null. |
| core.String op; |
| |
| UnaryFilter(); |
| |
| UnaryFilter.fromJson(core.Map _json) { |
| if (_json.containsKey("field")) { |
| field = new FieldReference.fromJson(_json["field"]); |
| } |
| if (_json.containsKey("op")) { |
| op = _json["op"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (field != null) { |
| _json["field"] = (field).toJson(); |
| } |
| if (op != null) { |
| _json["op"] = op; |
| } |
| return _json; |
| } |
| } |
| |
| /// A message that can hold any of the supported value types. |
| class Value { |
| /// An array value. |
| /// |
| /// Cannot contain another array value. |
| ArrayValue arrayValue; |
| |
| /// A boolean value. |
| core.bool booleanValue; |
| |
| /// A bytes value. |
| /// |
| /// Must not exceed 1 MiB - 89 bytes. |
| /// Only the first 1,500 bytes are considered by queries. |
| core.String bytesValue; |
| core.List<core.int> get bytesValueAsBytes { |
| return convert.BASE64.decode(bytesValue); |
| } |
| |
| void set bytesValueAsBytes(core.List<core.int> _bytes) { |
| bytesValue = |
| convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| /// A double value. |
| core.double doubleValue; |
| |
| /// A geo point value representing a point on the surface of Earth. |
| LatLng geoPointValue; |
| |
| /// An integer value. |
| core.String integerValue; |
| |
| /// A map value. |
| MapValue mapValue; |
| |
| /// A null value. |
| /// Possible string values are: |
| /// - "NULL_VALUE" : Null value. |
| core.String nullValue; |
| |
| /// A reference to a document. For example: |
| /// `projects/{project_id}/databases/{database_id}/documents/{document_path}`. |
| core.String referenceValue; |
| |
| /// A string value. |
| /// |
| /// The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. |
| /// Only the first 1,500 bytes of the UTF-8 representation are considered by |
| /// queries. |
| core.String stringValue; |
| |
| /// A timestamp value. |
| /// |
| /// Precise only to microseconds. When stored, any additional precision is |
| /// rounded down. |
| core.String timestampValue; |
| |
| Value(); |
| |
| Value.fromJson(core.Map _json) { |
| if (_json.containsKey("arrayValue")) { |
| arrayValue = new ArrayValue.fromJson(_json["arrayValue"]); |
| } |
| if (_json.containsKey("booleanValue")) { |
| booleanValue = _json["booleanValue"]; |
| } |
| if (_json.containsKey("bytesValue")) { |
| bytesValue = _json["bytesValue"]; |
| } |
| if (_json.containsKey("doubleValue")) { |
| doubleValue = _json["doubleValue"]; |
| } |
| if (_json.containsKey("geoPointValue")) { |
| geoPointValue = new LatLng.fromJson(_json["geoPointValue"]); |
| } |
| if (_json.containsKey("integerValue")) { |
| integerValue = _json["integerValue"]; |
| } |
| if (_json.containsKey("mapValue")) { |
| mapValue = new MapValue.fromJson(_json["mapValue"]); |
| } |
| if (_json.containsKey("nullValue")) { |
| nullValue = _json["nullValue"]; |
| } |
| if (_json.containsKey("referenceValue")) { |
| referenceValue = _json["referenceValue"]; |
| } |
| if (_json.containsKey("stringValue")) { |
| stringValue = _json["stringValue"]; |
| } |
| if (_json.containsKey("timestampValue")) { |
| timestampValue = _json["timestampValue"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (arrayValue != null) { |
| _json["arrayValue"] = (arrayValue).toJson(); |
| } |
| if (booleanValue != null) { |
| _json["booleanValue"] = booleanValue; |
| } |
| if (bytesValue != null) { |
| _json["bytesValue"] = bytesValue; |
| } |
| if (doubleValue != null) { |
| _json["doubleValue"] = doubleValue; |
| } |
| if (geoPointValue != null) { |
| _json["geoPointValue"] = (geoPointValue).toJson(); |
| } |
| if (integerValue != null) { |
| _json["integerValue"] = integerValue; |
| } |
| if (mapValue != null) { |
| _json["mapValue"] = (mapValue).toJson(); |
| } |
| if (nullValue != null) { |
| _json["nullValue"] = nullValue; |
| } |
| if (referenceValue != null) { |
| _json["referenceValue"] = referenceValue; |
| } |
| if (stringValue != null) { |
| _json["stringValue"] = stringValue; |
| } |
| if (timestampValue != null) { |
| _json["timestampValue"] = timestampValue; |
| } |
| return _json; |
| } |
| } |
| |
| /// A write on a document. |
| class Write { |
| /// An optional precondition on the document. |
| /// |
| /// The write will fail if this is set and not met by the target document. |
| Precondition currentDocument; |
| |
| /// A document name to delete. In the format: |
| /// `projects/{project_id}/databases/{database_id}/documents/{document_path}`. |
| core.String delete; |
| |
| /// Applies a tranformation to a document. |
| /// At most one `transform` per document is allowed in a given request. |
| /// An `update` cannot follow a `transform` on the same document in a given |
| /// request. |
| DocumentTransform transform; |
| |
| /// A document to write. |
| Document update; |
| |
| /// The fields to update in this write. |
| /// |
| /// This field can be set only when the operation is `update`. |
| /// If the mask is not set for an `update` and the document exists, any |
| /// existing data will be overwritten. |
| /// If the mask is set and the document on the server has fields not covered |
| /// by |
| /// 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. |
| /// The field paths in this mask must not contain a reserved field name. |
| DocumentMask updateMask; |
| |
| Write(); |
| |
| Write.fromJson(core.Map _json) { |
| if (_json.containsKey("currentDocument")) { |
| currentDocument = new Precondition.fromJson(_json["currentDocument"]); |
| } |
| if (_json.containsKey("delete")) { |
| delete = _json["delete"]; |
| } |
| if (_json.containsKey("transform")) { |
| transform = new DocumentTransform.fromJson(_json["transform"]); |
| } |
| if (_json.containsKey("update")) { |
| update = new Document.fromJson(_json["update"]); |
| } |
| if (_json.containsKey("updateMask")) { |
| updateMask = new DocumentMask.fromJson(_json["updateMask"]); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (currentDocument != null) { |
| _json["currentDocument"] = (currentDocument).toJson(); |
| } |
| if (delete != null) { |
| _json["delete"] = delete; |
| } |
| if (transform != null) { |
| _json["transform"] = (transform).toJson(); |
| } |
| if (update != null) { |
| _json["update"] = (update).toJson(); |
| } |
| if (updateMask != null) { |
| _json["updateMask"] = (updateMask).toJson(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The request for 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. |
| class WriteRequest { |
| /// Labels associated with this write request. |
| core.Map<core.String, core.String> labels; |
| |
| /// 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. |
| core.String streamId; |
| |
| /// A stream token that was previously sent by the server. |
| /// |
| /// The client should set this field to the token from the most recent |
| /// 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. |
| core.String streamToken; |
| core.List<core.int> get streamTokenAsBytes { |
| return convert.BASE64.decode(streamToken); |
| } |
| |
| void set streamTokenAsBytes(core.List<core.int> _bytes) { |
| streamToken = |
| convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| /// 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. |
| core.List<Write> writes; |
| |
| WriteRequest(); |
| |
| WriteRequest.fromJson(core.Map _json) { |
| if (_json.containsKey("labels")) { |
| labels = _json["labels"]; |
| } |
| if (_json.containsKey("streamId")) { |
| streamId = _json["streamId"]; |
| } |
| if (_json.containsKey("streamToken")) { |
| streamToken = _json["streamToken"]; |
| } |
| if (_json.containsKey("writes")) { |
| writes = _json["writes"] |
| .map<Write>((value) => new Write.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (labels != null) { |
| _json["labels"] = labels; |
| } |
| if (streamId != null) { |
| _json["streamId"] = streamId; |
| } |
| if (streamToken != null) { |
| _json["streamToken"] = streamToken; |
| } |
| if (writes != null) { |
| _json["writes"] = writes.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The response for Firestore.Write. |
| class WriteResponse { |
| /// The time at which the commit occurred. |
| core.String commitTime; |
| |
| /// The ID of the stream. |
| /// Only set on the first message, when a new stream was created. |
| core.String streamId; |
| |
| /// 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. |
| core.String streamToken; |
| core.List<core.int> get streamTokenAsBytes { |
| return convert.BASE64.decode(streamToken); |
| } |
| |
| void set streamTokenAsBytes(core.List<core.int> _bytes) { |
| streamToken = |
| convert.BASE64.encode(_bytes).replaceAll("/", "_").replaceAll("+", "-"); |
| } |
| |
| /// The result of applying the writes. |
| /// |
| /// This i-th write result corresponds to the i-th write in the |
| /// request. |
| core.List<WriteResult> writeResults; |
| |
| WriteResponse(); |
| |
| WriteResponse.fromJson(core.Map _json) { |
| if (_json.containsKey("commitTime")) { |
| commitTime = _json["commitTime"]; |
| } |
| if (_json.containsKey("streamId")) { |
| streamId = _json["streamId"]; |
| } |
| if (_json.containsKey("streamToken")) { |
| streamToken = _json["streamToken"]; |
| } |
| if (_json.containsKey("writeResults")) { |
| writeResults = _json["writeResults"] |
| .map<WriteResult>((value) => new WriteResult.fromJson(value)) |
| .toList(); |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (commitTime != null) { |
| _json["commitTime"] = commitTime; |
| } |
| if (streamId != null) { |
| _json["streamId"] = streamId; |
| } |
| if (streamToken != null) { |
| _json["streamToken"] = streamToken; |
| } |
| if (writeResults != null) { |
| _json["writeResults"] = |
| writeResults.map((value) => (value).toJson()).toList(); |
| } |
| return _json; |
| } |
| } |
| |
| /// The result of applying a write. |
| class WriteResult { |
| /// The results of applying each DocumentTransform.FieldTransform, in the |
| /// same order. |
| core.List<Value> transformResults; |
| |
| /// The last update time of the document after applying the write. Not set |
| /// after a `delete`. |
| /// |
| /// If the write did not actually change the document, this will be the |
| /// previous update_time. |
| core.String updateTime; |
| |
| WriteResult(); |
| |
| WriteResult.fromJson(core.Map _json) { |
| if (_json.containsKey("transformResults")) { |
| transformResults = _json["transformResults"] |
| .map<Value>((value) => new Value.fromJson(value)) |
| .toList(); |
| } |
| if (_json.containsKey("updateTime")) { |
| updateTime = _json["updateTime"]; |
| } |
| } |
| |
| core.Map<core.String, core.Object> toJson() { |
| final core.Map<core.String, core.Object> _json = |
| new core.Map<core.String, core.Object>(); |
| if (transformResults != null) { |
| _json["transformResults"] = |
| transformResults.map((value) => (value).toJson()).toList(); |
| } |
| if (updateTime != null) { |
| _json["updateTime"] = updateTime; |
| } |
| return _json; |
| } |
| } |