| Index: generated/googleapis_beta/lib/datastore/v1beta2.dart
|
| diff --git a/generated/googleapis_beta/lib/datastore/v1beta2.dart b/generated/googleapis_beta/lib/datastore/v1beta2.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5b1293fc705dec84deaa8d85537bd34323f76c81
|
| --- /dev/null
|
| +++ b/generated/googleapis_beta/lib/datastore/v1beta2.dart
|
| @@ -0,0 +1,2064 @@
|
| +library googleapis_beta.datastore.v1beta2;
|
| +
|
| +import "dart:core" as core;
|
| +import "dart:collection" as collection;
|
| +import "dart:async" as async;
|
| +import "dart:convert" as convert;
|
| +
|
| +import "package:crypto/crypto.dart" as crypto;
|
| +import 'package:http/http.dart' as http;
|
| +import '../src/common_internal.dart' as common_internal;
|
| +import '../common/common.dart' as common;
|
| +
|
| +export '../common/common.dart' show ApiRequestError;
|
| +export '../common/common.dart' show DetailedApiRequestError;
|
| +
|
| +/** API for accessing Google Cloud Datastore. */
|
| +class DatastoreApi {
|
| + /** View and manage your Google Cloud Datastore data */
|
| + static const DatastoreScope = "https://www.googleapis.com/auth/datastore";
|
| +
|
| + /** View your email address */
|
| + static const UserinfoEmailScope = "https://www.googleapis.com/auth/userinfo.email";
|
| +
|
| +
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + DatasetsResourceApi get datasets => new DatasetsResourceApi(_requester);
|
| +
|
| + DatastoreApi(http.Client client) :
|
| + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/datastore/v1beta2/datasets/");
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class DatasetsResourceApi {
|
| + final common_internal.ApiRequester _requester;
|
| +
|
| + DatasetsResourceApi(common_internal.ApiRequester client) :
|
| + _requester = client;
|
| +
|
| + /**
|
| + * Allocate IDs for incomplete keys (useful for referencing an entity before
|
| + * it is inserted).
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [datasetId] - Identifies the dataset.
|
| + *
|
| + * Completes with a [AllocateIdsResponse].
|
| + *
|
| + * Completes with a [common.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<AllocateIdsResponse> allocateIds(AllocateIdsRequest request, core.String datasetId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (datasetId == null) {
|
| + throw new core.ArgumentError("Parameter datasetId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$datasetId') + '/allocateIds';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new AllocateIdsResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Begin a new transaction.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [datasetId] - Identifies the dataset.
|
| + *
|
| + * Completes with a [BeginTransactionResponse].
|
| + *
|
| + * Completes with a [common.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 datasetId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (datasetId == null) {
|
| + throw new core.ArgumentError("Parameter datasetId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$datasetId') + '/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));
|
| + }
|
| +
|
| + /**
|
| + * Commit a transaction, optionally creating, deleting or modifying some
|
| + * entities.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [datasetId] - Identifies the dataset.
|
| + *
|
| + * Completes with a [CommitResponse].
|
| + *
|
| + * Completes with a [common.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 datasetId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (datasetId == null) {
|
| + throw new core.ArgumentError("Parameter datasetId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$datasetId') + '/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));
|
| + }
|
| +
|
| + /**
|
| + * Look up some entities by key.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [datasetId] - Identifies the dataset.
|
| + *
|
| + * Completes with a [LookupResponse].
|
| + *
|
| + * Completes with a [common.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<LookupResponse> lookup(LookupRequest request, core.String datasetId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (datasetId == null) {
|
| + throw new core.ArgumentError("Parameter datasetId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$datasetId') + '/lookup';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new LookupResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Roll back a transaction.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [datasetId] - Identifies the dataset.
|
| + *
|
| + * Completes with a [RollbackResponse].
|
| + *
|
| + * Completes with a [common.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<RollbackResponse> rollback(RollbackRequest request, core.String datasetId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (datasetId == null) {
|
| + throw new core.ArgumentError("Parameter datasetId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$datasetId') + '/rollback';
|
| +
|
| + var _response = _requester.request(_url,
|
| + "POST",
|
| + body: _body,
|
| + queryParams: _queryParams,
|
| + uploadOptions: _uploadOptions,
|
| + uploadMedia: _uploadMedia,
|
| + downloadOptions: _downloadOptions);
|
| + return _response.then((data) => new RollbackResponse.fromJson(data));
|
| + }
|
| +
|
| + /**
|
| + * Query for entities.
|
| + *
|
| + * [request] - The metadata request object.
|
| + *
|
| + * Request parameters:
|
| + *
|
| + * [datasetId] - Identifies the dataset.
|
| + *
|
| + * Completes with a [RunQueryResponse].
|
| + *
|
| + * Completes with a [common.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 datasetId) {
|
| + var _url = null;
|
| + var _queryParams = new core.Map();
|
| + var _uploadMedia = null;
|
| + var _uploadOptions = null;
|
| + var _downloadOptions = common.DownloadOptions.Metadata;
|
| + var _body = null;
|
| +
|
| + if (request != null) {
|
| + _body = convert.JSON.encode((request).toJson());
|
| + }
|
| + if (datasetId == null) {
|
| + throw new core.ArgumentError("Parameter datasetId is required.");
|
| + }
|
| +
|
| +
|
| + _url = common_internal.Escaper.ecapeVariable('$datasetId') + '/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));
|
| + }
|
| +
|
| +}
|
| +
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AllocateIdsRequest {
|
| + /**
|
| + * A list of keys with incomplete key paths to allocate IDs for. No key may be
|
| + * reserved/read-only.
|
| + */
|
| + core.List<Key> keys;
|
| +
|
| +
|
| + AllocateIdsRequest();
|
| +
|
| + AllocateIdsRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("keys")) {
|
| + keys = _json["keys"].map((value) => new Key.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (keys != null) {
|
| + _json["keys"] = keys.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class AllocateIdsResponse {
|
| + /** Not documented yet. */
|
| + ResponseHeader header;
|
| +
|
| + /**
|
| + * The keys specified in the request (in the same order), each with its key
|
| + * path completed with a newly allocated ID.
|
| + */
|
| + core.List<Key> keys;
|
| +
|
| +
|
| + AllocateIdsResponse();
|
| +
|
| + AllocateIdsResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("header")) {
|
| + header = new ResponseHeader.fromJson(_json["header"]);
|
| + }
|
| + if (_json.containsKey("keys")) {
|
| + keys = _json["keys"].map((value) => new Key.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (header != null) {
|
| + _json["header"] = (header).toJson();
|
| + }
|
| + if (keys != null) {
|
| + _json["keys"] = keys.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class BeginTransactionRequest {
|
| + /**
|
| + * The transaction isolation level. Either snapshot or serializable. The
|
| + * default isolation level is snapshot isolation, which means that another
|
| + * transaction may not concurrently modify the data that is modified by this
|
| + * transaction. Optionally, a transaction can request to be made serializable
|
| + * which means that another transaction cannot concurrently modify the data
|
| + * that is read or modified by this transaction.
|
| + * Possible string values are:
|
| + * - "SERIALIZABLE"
|
| + * - "SNAPSHOT"
|
| + */
|
| + core.String isolationLevel;
|
| +
|
| +
|
| + BeginTransactionRequest();
|
| +
|
| + BeginTransactionRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("isolationLevel")) {
|
| + isolationLevel = _json["isolationLevel"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (isolationLevel != null) {
|
| + _json["isolationLevel"] = isolationLevel;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class BeginTransactionResponse {
|
| + /** Not documented yet. */
|
| + ResponseHeader header;
|
| +
|
| + /** The transaction identifier (always present). */
|
| + core.String transaction;
|
| +
|
| + core.List<core.int> get transactionAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(transaction);
|
| + }
|
| +
|
| + void set transactionAsBytes(core.List<core.int> _bytes) {
|
| + transaction = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| +
|
| + BeginTransactionResponse();
|
| +
|
| + BeginTransactionResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("header")) {
|
| + header = new ResponseHeader.fromJson(_json["header"]);
|
| + }
|
| + if (_json.containsKey("transaction")) {
|
| + transaction = _json["transaction"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (header != null) {
|
| + _json["header"] = (header).toJson();
|
| + }
|
| + if (transaction != null) {
|
| + _json["transaction"] = transaction;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class CommitRequest {
|
| + /** Not documented yet. */
|
| + core.bool ignoreReadOnly;
|
| +
|
| + /**
|
| + * The type of commit to perform. Either TRANSACTIONAL or NON_TRANSACTIONAL.
|
| + * Possible string values are:
|
| + * - "NON_TRANSACTIONAL"
|
| + * - "TRANSACTIONAL"
|
| + */
|
| + core.String mode;
|
| +
|
| + /** The mutation to perform. Optional. */
|
| + Mutation mutation;
|
| +
|
| + /**
|
| + * The transaction identifier, returned by a call to beginTransaction. Must be
|
| + * set when mode is TRANSACTIONAL.
|
| + */
|
| + core.String transaction;
|
| +
|
| + core.List<core.int> get transactionAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(transaction);
|
| + }
|
| +
|
| + void set transactionAsBytes(core.List<core.int> _bytes) {
|
| + transaction = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| +
|
| + CommitRequest();
|
| +
|
| + CommitRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("ignoreReadOnly")) {
|
| + ignoreReadOnly = _json["ignoreReadOnly"];
|
| + }
|
| + if (_json.containsKey("mode")) {
|
| + mode = _json["mode"];
|
| + }
|
| + if (_json.containsKey("mutation")) {
|
| + mutation = new Mutation.fromJson(_json["mutation"]);
|
| + }
|
| + if (_json.containsKey("transaction")) {
|
| + transaction = _json["transaction"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (ignoreReadOnly != null) {
|
| + _json["ignoreReadOnly"] = ignoreReadOnly;
|
| + }
|
| + if (mode != null) {
|
| + _json["mode"] = mode;
|
| + }
|
| + if (mutation != null) {
|
| + _json["mutation"] = (mutation).toJson();
|
| + }
|
| + if (transaction != null) {
|
| + _json["transaction"] = transaction;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class CommitResponse {
|
| + /** Not documented yet. */
|
| + ResponseHeader header;
|
| +
|
| + /** The result of performing the mutation (if any). */
|
| + MutationResult mutationResult;
|
| +
|
| +
|
| + CommitResponse();
|
| +
|
| + CommitResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("header")) {
|
| + header = new ResponseHeader.fromJson(_json["header"]);
|
| + }
|
| + if (_json.containsKey("mutationResult")) {
|
| + mutationResult = new MutationResult.fromJson(_json["mutationResult"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (header != null) {
|
| + _json["header"] = (header).toJson();
|
| + }
|
| + if (mutationResult != null) {
|
| + _json["mutationResult"] = (mutationResult).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class CompositeFilter {
|
| + /** The list of filters to combine. Must contain at least one filter. */
|
| + core.List<Filter> filters;
|
| +
|
| + /**
|
| + * The operator for combining multiple filters. Only "and" is currently
|
| + * supported.
|
| + * Possible string values are:
|
| + * - "AND"
|
| + */
|
| + core.String operator;
|
| +
|
| +
|
| + CompositeFilter();
|
| +
|
| + CompositeFilter.fromJson(core.Map _json) {
|
| + if (_json.containsKey("filters")) {
|
| + filters = _json["filters"].map((value) => new Filter.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("operator")) {
|
| + operator = _json["operator"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (filters != null) {
|
| + _json["filters"] = filters.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (operator != null) {
|
| + _json["operator"] = operator;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class Entity {
|
| + /**
|
| + * The entity's key.
|
| + *
|
| + * An entity must have a key, unless otherwise documented (for example, an
|
| + * entity in Value.entityValue may have no key). An entity's kind is its key's
|
| + * path's last element's kind, or null if it has no key.
|
| + */
|
| + Key key;
|
| +
|
| + /** The entity's properties. */
|
| + core.Map<core.String, Property> properties;
|
| +
|
| +
|
| + Entity();
|
| +
|
| + Entity.fromJson(core.Map _json) {
|
| + if (_json.containsKey("key")) {
|
| + key = new Key.fromJson(_json["key"]);
|
| + }
|
| + if (_json.containsKey("properties")) {
|
| + properties = common_internal.mapMap(_json["properties"], (item) => new Property.fromJson(item));
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (key != null) {
|
| + _json["key"] = (key).toJson();
|
| + }
|
| + if (properties != null) {
|
| + _json["properties"] = common_internal.mapMap(properties, (item) => (item).toJson());
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class EntityResult {
|
| + /** The resulting entity. */
|
| + Entity entity;
|
| +
|
| +
|
| + EntityResult();
|
| +
|
| + EntityResult.fromJson(core.Map _json) {
|
| + if (_json.containsKey("entity")) {
|
| + entity = new Entity.fromJson(_json["entity"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (entity != null) {
|
| + _json["entity"] = (entity).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class Filter {
|
| + /** A composite filter. */
|
| + CompositeFilter compositeFilter;
|
| +
|
| + /** A filter on a property. */
|
| + PropertyFilter propertyFilter;
|
| +
|
| +
|
| + Filter();
|
| +
|
| + Filter.fromJson(core.Map _json) {
|
| + if (_json.containsKey("compositeFilter")) {
|
| + compositeFilter = new CompositeFilter.fromJson(_json["compositeFilter"]);
|
| + }
|
| + if (_json.containsKey("propertyFilter")) {
|
| + propertyFilter = new PropertyFilter.fromJson(_json["propertyFilter"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (compositeFilter != null) {
|
| + _json["compositeFilter"] = (compositeFilter).toJson();
|
| + }
|
| + if (propertyFilter != null) {
|
| + _json["propertyFilter"] = (propertyFilter).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class GqlQuery {
|
| + /** When false, the query string must not contain a literal. */
|
| + core.bool allowLiteral;
|
| +
|
| + /**
|
| + * A named argument must set field GqlQueryArg.name. No two named arguments
|
| + * may have the same name. For each non-reserved named binding site in the
|
| + * query string, there must be a named argument with that name, but not
|
| + * necessarily the inverse.
|
| + */
|
| + core.List<GqlQueryArg> nameArgs;
|
| +
|
| + /**
|
| + * Numbered binding site @1 references the first numbered argument,
|
| + * effectively using 1-based indexing, rather than the usual 0. A numbered
|
| + * argument must NOT set field GqlQueryArg.name. For each binding site
|
| + * numbered i in query_string, there must be an ith numbered argument. The
|
| + * inverse must also be true.
|
| + */
|
| + core.List<GqlQueryArg> numberArgs;
|
| +
|
| + /** Not documented yet. */
|
| + core.String queryString;
|
| +
|
| +
|
| + GqlQuery();
|
| +
|
| + GqlQuery.fromJson(core.Map _json) {
|
| + if (_json.containsKey("allowLiteral")) {
|
| + allowLiteral = _json["allowLiteral"];
|
| + }
|
| + if (_json.containsKey("nameArgs")) {
|
| + nameArgs = _json["nameArgs"].map((value) => new GqlQueryArg.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("numberArgs")) {
|
| + numberArgs = _json["numberArgs"].map((value) => new GqlQueryArg.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("queryString")) {
|
| + queryString = _json["queryString"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (allowLiteral != null) {
|
| + _json["allowLiteral"] = allowLiteral;
|
| + }
|
| + if (nameArgs != null) {
|
| + _json["nameArgs"] = nameArgs.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (numberArgs != null) {
|
| + _json["numberArgs"] = numberArgs.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (queryString != null) {
|
| + _json["queryString"] = queryString;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class GqlQueryArg {
|
| + /** Not documented yet. */
|
| + core.String cursor;
|
| +
|
| + core.List<core.int> get cursorAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(cursor);
|
| + }
|
| +
|
| + void set cursorAsBytes(core.List<core.int> _bytes) {
|
| + cursor = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| + /**
|
| + * Must match regex "[A-Za-z_$][A-Za-z_$0-9]*". Must not match regex "__.*__".
|
| + * Must not be "".
|
| + */
|
| + core.String name;
|
| +
|
| + /** Not documented yet. */
|
| + Value value;
|
| +
|
| +
|
| + GqlQueryArg();
|
| +
|
| + GqlQueryArg.fromJson(core.Map _json) {
|
| + if (_json.containsKey("cursor")) {
|
| + cursor = _json["cursor"];
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = new Value.fromJson(_json["value"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (cursor != null) {
|
| + _json["cursor"] = cursor;
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = (value).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class Key {
|
| + /**
|
| + * Entities are partitioned into subsets, currently identified by a dataset
|
| + * (usually implicitly specified by the project) and namespace ID. Queries are
|
| + * scoped to a single partition.
|
| + */
|
| + PartitionId partitionId;
|
| +
|
| + /**
|
| + * The entity path. An entity path consists of one or more elements composed
|
| + * of a kind and a string or numerical identifier, which identify entities.
|
| + * The first element identifies a root entity, the second element identifies a
|
| + * child of the root entity, the third element a child of the second entity,
|
| + * and so forth. The entities identified by all prefixes of the path are
|
| + * called the element's ancestors. An entity path is always fully complete:
|
| + * ALL of the entity's ancestors are required to be in the path along with the
|
| + * entity identifier itself. The only exception is that in some documented
|
| + * cases, the identifier in the last path element (for the entity) itself may
|
| + * be omitted. A path can never be empty. The path can have at most 100
|
| + * elements.
|
| + */
|
| + core.List<KeyPathElement> path;
|
| +
|
| +
|
| + Key();
|
| +
|
| + Key.fromJson(core.Map _json) {
|
| + if (_json.containsKey("partitionId")) {
|
| + partitionId = new PartitionId.fromJson(_json["partitionId"]);
|
| + }
|
| + if (_json.containsKey("path")) {
|
| + path = _json["path"].map((value) => new KeyPathElement.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (partitionId != null) {
|
| + _json["partitionId"] = (partitionId).toJson();
|
| + }
|
| + if (path != null) {
|
| + _json["path"] = path.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/**
|
| + * A (kind, ID/name) pair used to construct a key path.
|
| + *
|
| + * At most one of name or ID may be set. If either is set, the element is
|
| + * complete. If neither is set, the element is incomplete.
|
| + */
|
| +class KeyPathElement {
|
| + /**
|
| + * The ID of the entity. Never equal to zero. Values less than zero are
|
| + * discouraged and will not be supported in the future.
|
| + */
|
| + core.String id;
|
| +
|
| + /**
|
| + * The kind of the entity. A kind matching regex "__.*__" is
|
| + * reserved/read-only. A kind must not contain more than 500 characters.
|
| + * Cannot be "".
|
| + */
|
| + core.String kind;
|
| +
|
| + /**
|
| + * The name of the entity. A name matching regex "__.*__" is
|
| + * reserved/read-only. A name must not be more than 500 characters. Cannot be
|
| + * "".
|
| + */
|
| + core.String name;
|
| +
|
| +
|
| + KeyPathElement();
|
| +
|
| + KeyPathElement.fromJson(core.Map _json) {
|
| + if (_json.containsKey("id")) {
|
| + id = _json["id"];
|
| + }
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (id != null) {
|
| + _json["id"] = id;
|
| + }
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class KindExpression {
|
| + /** The name of the kind. */
|
| + core.String name;
|
| +
|
| +
|
| + KindExpression();
|
| +
|
| + KindExpression.fromJson(core.Map _json) {
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class LookupRequest {
|
| + /** Keys of entities to look up from the datastore. */
|
| + core.List<Key> keys;
|
| +
|
| + /** Options for this lookup request. Optional. */
|
| + ReadOptions readOptions;
|
| +
|
| +
|
| + LookupRequest();
|
| +
|
| + LookupRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("keys")) {
|
| + keys = _json["keys"].map((value) => new Key.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("readOptions")) {
|
| + readOptions = new ReadOptions.fromJson(_json["readOptions"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (keys != null) {
|
| + _json["keys"] = keys.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (readOptions != null) {
|
| + _json["readOptions"] = (readOptions).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class LookupResponse {
|
| + /** A list of keys that were not looked up due to resource constraints. */
|
| + core.List<Key> deferred;
|
| +
|
| + /** Entities found. */
|
| + core.List<EntityResult> found;
|
| +
|
| + /** Not documented yet. */
|
| + ResponseHeader header;
|
| +
|
| + /** Entities not found, with only the key populated. */
|
| + core.List<EntityResult> missing;
|
| +
|
| +
|
| + LookupResponse();
|
| +
|
| + LookupResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("deferred")) {
|
| + deferred = _json["deferred"].map((value) => new Key.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("found")) {
|
| + found = _json["found"].map((value) => new EntityResult.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("header")) {
|
| + header = new ResponseHeader.fromJson(_json["header"]);
|
| + }
|
| + if (_json.containsKey("missing")) {
|
| + missing = _json["missing"].map((value) => new EntityResult.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (deferred != null) {
|
| + _json["deferred"] = deferred.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (found != null) {
|
| + _json["found"] = found.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (header != null) {
|
| + _json["header"] = (header).toJson();
|
| + }
|
| + if (missing != null) {
|
| + _json["missing"] = missing.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class Mutation {
|
| + /**
|
| + * Keys of entities to delete. Each key must have a complete key path and must
|
| + * not be reserved/read-only.
|
| + */
|
| + core.List<Key> delete;
|
| +
|
| + /** Ignore a user specified read-only period. Optional. */
|
| + core.bool force;
|
| +
|
| + /**
|
| + * Entities to insert. Each inserted entity's key must have a complete path
|
| + * and must not be reserved/read-only.
|
| + */
|
| + core.List<Entity> insert;
|
| +
|
| + /**
|
| + * Insert entities with a newly allocated ID. Each inserted entity's key must
|
| + * omit the final identifier in its path and must not be reserved/read-only.
|
| + */
|
| + core.List<Entity> insertAutoId;
|
| +
|
| + /**
|
| + * Entities to update. Each updated entity's key must have a complete path and
|
| + * must not be reserved/read-only.
|
| + */
|
| + core.List<Entity> update;
|
| +
|
| + /**
|
| + * Entities to upsert. Each upserted entity's key must have a complete path
|
| + * and must not be reserved/read-only.
|
| + */
|
| + core.List<Entity> upsert;
|
| +
|
| +
|
| + Mutation();
|
| +
|
| + Mutation.fromJson(core.Map _json) {
|
| + if (_json.containsKey("delete")) {
|
| + delete = _json["delete"].map((value) => new Key.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("force")) {
|
| + force = _json["force"];
|
| + }
|
| + if (_json.containsKey("insert")) {
|
| + insert = _json["insert"].map((value) => new Entity.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("insertAutoId")) {
|
| + insertAutoId = _json["insertAutoId"].map((value) => new Entity.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("update")) {
|
| + update = _json["update"].map((value) => new Entity.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("upsert")) {
|
| + upsert = _json["upsert"].map((value) => new Entity.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (delete != null) {
|
| + _json["delete"] = delete.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (force != null) {
|
| + _json["force"] = force;
|
| + }
|
| + if (insert != null) {
|
| + _json["insert"] = insert.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (insertAutoId != null) {
|
| + _json["insertAutoId"] = insertAutoId.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (update != null) {
|
| + _json["update"] = update.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (upsert != null) {
|
| + _json["upsert"] = upsert.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class MutationResult {
|
| + /** Number of index writes. */
|
| + core.int indexUpdates;
|
| +
|
| + /**
|
| + * Keys for insertAutoId entities. One per entity from the request, in the
|
| + * same order.
|
| + */
|
| + core.List<Key> insertAutoIdKeys;
|
| +
|
| +
|
| + MutationResult();
|
| +
|
| + MutationResult.fromJson(core.Map _json) {
|
| + if (_json.containsKey("indexUpdates")) {
|
| + indexUpdates = _json["indexUpdates"];
|
| + }
|
| + if (_json.containsKey("insertAutoIdKeys")) {
|
| + insertAutoIdKeys = _json["insertAutoIdKeys"].map((value) => new Key.fromJson(value)).toList();
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (indexUpdates != null) {
|
| + _json["indexUpdates"] = indexUpdates;
|
| + }
|
| + if (insertAutoIdKeys != null) {
|
| + _json["insertAutoIdKeys"] = insertAutoIdKeys.map((value) => (value).toJson()).toList();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class PartitionId {
|
| + /** The dataset ID. */
|
| + core.String datasetId;
|
| +
|
| + /** The namespace. */
|
| + core.String namespace;
|
| +
|
| +
|
| + PartitionId();
|
| +
|
| + PartitionId.fromJson(core.Map _json) {
|
| + if (_json.containsKey("datasetId")) {
|
| + datasetId = _json["datasetId"];
|
| + }
|
| + if (_json.containsKey("namespace")) {
|
| + namespace = _json["namespace"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (datasetId != null) {
|
| + _json["datasetId"] = datasetId;
|
| + }
|
| + if (namespace != null) {
|
| + _json["namespace"] = namespace;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class Property {
|
| + /** A blob key value. */
|
| + core.String blobKeyValue;
|
| +
|
| + /** A blob value. May be a maximum of 1,000,000 bytes. */
|
| + core.String blobValue;
|
| +
|
| + core.List<core.int> get blobValueAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(blobValue);
|
| + }
|
| +
|
| + void set blobValueAsBytes(core.List<core.int> _bytes) {
|
| + blobValue = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| + /** A boolean value. */
|
| + core.bool booleanValue;
|
| +
|
| + /** A timestamp value. */
|
| + core.DateTime dateTimeValue;
|
| +
|
| + /** A double value. */
|
| + core.double doubleValue;
|
| +
|
| + /**
|
| + * An entity value. May have no key. May have a key with an incomplete key
|
| + * path. May have a reserved/read-only key.
|
| + */
|
| + Entity entityValue;
|
| +
|
| + /**
|
| + * If the value should be indexed.
|
| + *
|
| + * The indexed property may be set for a null value. When indexed is true,
|
| + * stringValue is limited to 500 characters and the blob value is limited to
|
| + * 500 bytes. Input values by default have indexed set to true; however, you
|
| + * can explicitly set indexed to true if you want. (An output value never has
|
| + * indexed explicitly set to true.) If a value is itself an entity, it cannot
|
| + * have indexed set to true.
|
| + */
|
| + core.bool indexed;
|
| +
|
| + /** An integer value. */
|
| + core.String integerValue;
|
| +
|
| + /** A key value. */
|
| + Key keyValue;
|
| +
|
| + /**
|
| + * A list value. Cannot contain another list value. Cannot also have a meaning
|
| + * and indexing set.
|
| + */
|
| + core.List<Value> listValue;
|
| +
|
| + /** The meaning field is reserved and should not be used. */
|
| + core.int meaning;
|
| +
|
| + /** A UTF-8 encoded string value. */
|
| + core.String stringValue;
|
| +
|
| +
|
| + Property();
|
| +
|
| + Property.fromJson(core.Map _json) {
|
| + if (_json.containsKey("blobKeyValue")) {
|
| + blobKeyValue = _json["blobKeyValue"];
|
| + }
|
| + if (_json.containsKey("blobValue")) {
|
| + blobValue = _json["blobValue"];
|
| + }
|
| + if (_json.containsKey("booleanValue")) {
|
| + booleanValue = _json["booleanValue"];
|
| + }
|
| + if (_json.containsKey("dateTimeValue")) {
|
| + dateTimeValue = core.DateTime.parse(_json["dateTimeValue"]);
|
| + }
|
| + if (_json.containsKey("doubleValue")) {
|
| + doubleValue = _json["doubleValue"];
|
| + }
|
| + if (_json.containsKey("entityValue")) {
|
| + entityValue = new Entity.fromJson(_json["entityValue"]);
|
| + }
|
| + if (_json.containsKey("indexed")) {
|
| + indexed = _json["indexed"];
|
| + }
|
| + if (_json.containsKey("integerValue")) {
|
| + integerValue = _json["integerValue"];
|
| + }
|
| + if (_json.containsKey("keyValue")) {
|
| + keyValue = new Key.fromJson(_json["keyValue"]);
|
| + }
|
| + if (_json.containsKey("listValue")) {
|
| + listValue = _json["listValue"].map((value) => new Value.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("meaning")) {
|
| + meaning = _json["meaning"];
|
| + }
|
| + if (_json.containsKey("stringValue")) {
|
| + stringValue = _json["stringValue"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (blobKeyValue != null) {
|
| + _json["blobKeyValue"] = blobKeyValue;
|
| + }
|
| + if (blobValue != null) {
|
| + _json["blobValue"] = blobValue;
|
| + }
|
| + if (booleanValue != null) {
|
| + _json["booleanValue"] = booleanValue;
|
| + }
|
| + if (dateTimeValue != null) {
|
| + _json["dateTimeValue"] = (dateTimeValue).toIso8601String();
|
| + }
|
| + if (doubleValue != null) {
|
| + _json["doubleValue"] = doubleValue;
|
| + }
|
| + if (entityValue != null) {
|
| + _json["entityValue"] = (entityValue).toJson();
|
| + }
|
| + if (indexed != null) {
|
| + _json["indexed"] = indexed;
|
| + }
|
| + if (integerValue != null) {
|
| + _json["integerValue"] = integerValue;
|
| + }
|
| + if (keyValue != null) {
|
| + _json["keyValue"] = (keyValue).toJson();
|
| + }
|
| + if (listValue != null) {
|
| + _json["listValue"] = listValue.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (meaning != null) {
|
| + _json["meaning"] = meaning;
|
| + }
|
| + if (stringValue != null) {
|
| + _json["stringValue"] = stringValue;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class PropertyExpression {
|
| + /**
|
| + * The aggregation function to apply to the property. Optional. Can only be
|
| + * used when grouping by at least one property. Must then be set on all
|
| + * properties in the projection that are not being grouped by. Aggregation
|
| + * functions: first selects the first result as determined by the query's
|
| + * order.
|
| + * Possible string values are:
|
| + * - "FIRST"
|
| + */
|
| + core.String aggregationFunction;
|
| +
|
| + /** The property to project. */
|
| + PropertyReference property;
|
| +
|
| +
|
| + PropertyExpression();
|
| +
|
| + PropertyExpression.fromJson(core.Map _json) {
|
| + if (_json.containsKey("aggregationFunction")) {
|
| + aggregationFunction = _json["aggregationFunction"];
|
| + }
|
| + if (_json.containsKey("property")) {
|
| + property = new PropertyReference.fromJson(_json["property"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (aggregationFunction != null) {
|
| + _json["aggregationFunction"] = aggregationFunction;
|
| + }
|
| + if (property != null) {
|
| + _json["property"] = (property).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class PropertyFilter {
|
| + /**
|
| + * The operator to filter by. One of lessThan, lessThanOrEqual, greaterThan,
|
| + * greaterThanOrEqual, equal, or hasAncestor.
|
| + * Possible string values are:
|
| + * - "EQUAL"
|
| + * - "GREATER_THAN"
|
| + * - "GREATER_THAN_OR_EQUAL"
|
| + * - "HAS_ANCESTOR"
|
| + * - "LESS_THAN"
|
| + * - "LESS_THAN_OR_EQUAL"
|
| + */
|
| + core.String operator;
|
| +
|
| + /** The property to filter by. */
|
| + PropertyReference property;
|
| +
|
| + /** The value to compare the property to. */
|
| + Value value;
|
| +
|
| +
|
| + PropertyFilter();
|
| +
|
| + PropertyFilter.fromJson(core.Map _json) {
|
| + if (_json.containsKey("operator")) {
|
| + operator = _json["operator"];
|
| + }
|
| + if (_json.containsKey("property")) {
|
| + property = new PropertyReference.fromJson(_json["property"]);
|
| + }
|
| + if (_json.containsKey("value")) {
|
| + value = new Value.fromJson(_json["value"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (operator != null) {
|
| + _json["operator"] = operator;
|
| + }
|
| + if (property != null) {
|
| + _json["property"] = (property).toJson();
|
| + }
|
| + if (value != null) {
|
| + _json["value"] = (value).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class PropertyOrder {
|
| + /**
|
| + * The direction to order by. One of ascending or descending. Optional,
|
| + * defaults to ascending.
|
| + * Possible string values are:
|
| + * - "ASCENDING"
|
| + * - "DESCENDING"
|
| + */
|
| + core.String direction;
|
| +
|
| + /** The property to order by. */
|
| + PropertyReference property;
|
| +
|
| +
|
| + PropertyOrder();
|
| +
|
| + PropertyOrder.fromJson(core.Map _json) {
|
| + if (_json.containsKey("direction")) {
|
| + direction = _json["direction"];
|
| + }
|
| + if (_json.containsKey("property")) {
|
| + property = new PropertyReference.fromJson(_json["property"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (direction != null) {
|
| + _json["direction"] = direction;
|
| + }
|
| + if (property != null) {
|
| + _json["property"] = (property).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class PropertyReference {
|
| + /** The name of the property. */
|
| + core.String name;
|
| +
|
| +
|
| + PropertyReference();
|
| +
|
| + PropertyReference.fromJson(core.Map _json) {
|
| + if (_json.containsKey("name")) {
|
| + name = _json["name"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (name != null) {
|
| + _json["name"] = name;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class Query {
|
| + /**
|
| + * An ending point for the query results. Optional. Query cursors are returned
|
| + * in query result batches.
|
| + */
|
| + core.String endCursor;
|
| +
|
| + core.List<core.int> get endCursorAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(endCursor);
|
| + }
|
| +
|
| + void set endCursorAsBytes(core.List<core.int> _bytes) {
|
| + endCursor = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| + /** The filter to apply (optional). */
|
| + Filter filter;
|
| +
|
| + /**
|
| + * The properties to group by (if empty, no grouping is applied to the result
|
| + * set).
|
| + */
|
| + core.List<PropertyReference> groupBy;
|
| +
|
| + /** The kinds to query (if empty, returns entities from all kinds). */
|
| + core.List<KindExpression> kinds;
|
| +
|
| + /**
|
| + * The maximum number of results to return. Applies after all other
|
| + * constraints. Optional.
|
| + */
|
| + core.int limit;
|
| +
|
| + /**
|
| + * The number of results to skip. Applies before limit, but after all other
|
| + * constraints (optional, defaults to 0).
|
| + */
|
| + core.int offset;
|
| +
|
| + /**
|
| + * The order to apply to the query results (if empty, order is unspecified).
|
| + */
|
| + core.List<PropertyOrder> order;
|
| +
|
| + /** The projection to return. If not set the entire entity is returned. */
|
| + core.List<PropertyExpression> projection;
|
| +
|
| + /**
|
| + * A starting point for the query results. Optional. Query cursors are
|
| + * returned in query result batches.
|
| + */
|
| + core.String startCursor;
|
| +
|
| + core.List<core.int> get startCursorAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(startCursor);
|
| + }
|
| +
|
| + void set startCursorAsBytes(core.List<core.int> _bytes) {
|
| + startCursor = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| +
|
| + Query();
|
| +
|
| + Query.fromJson(core.Map _json) {
|
| + if (_json.containsKey("endCursor")) {
|
| + endCursor = _json["endCursor"];
|
| + }
|
| + if (_json.containsKey("filter")) {
|
| + filter = new Filter.fromJson(_json["filter"]);
|
| + }
|
| + if (_json.containsKey("groupBy")) {
|
| + groupBy = _json["groupBy"].map((value) => new PropertyReference.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("kinds")) {
|
| + kinds = _json["kinds"].map((value) => new KindExpression.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("limit")) {
|
| + limit = _json["limit"];
|
| + }
|
| + if (_json.containsKey("offset")) {
|
| + offset = _json["offset"];
|
| + }
|
| + if (_json.containsKey("order")) {
|
| + order = _json["order"].map((value) => new PropertyOrder.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("projection")) {
|
| + projection = _json["projection"].map((value) => new PropertyExpression.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("startCursor")) {
|
| + startCursor = _json["startCursor"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (endCursor != null) {
|
| + _json["endCursor"] = endCursor;
|
| + }
|
| + if (filter != null) {
|
| + _json["filter"] = (filter).toJson();
|
| + }
|
| + if (groupBy != null) {
|
| + _json["groupBy"] = groupBy.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (kinds != null) {
|
| + _json["kinds"] = kinds.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (limit != null) {
|
| + _json["limit"] = limit;
|
| + }
|
| + if (offset != null) {
|
| + _json["offset"] = offset;
|
| + }
|
| + if (order != null) {
|
| + _json["order"] = order.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (projection != null) {
|
| + _json["projection"] = projection.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (startCursor != null) {
|
| + _json["startCursor"] = startCursor;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class QueryResultBatch {
|
| + /**
|
| + * A cursor that points to the position after the last result in the batch.
|
| + * May be absent.
|
| + */
|
| + core.String endCursor;
|
| +
|
| + core.List<core.int> get endCursorAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(endCursor);
|
| + }
|
| +
|
| + void set endCursorAsBytes(core.List<core.int> _bytes) {
|
| + endCursor = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| + /**
|
| + * The result type for every entity in entityResults. full for full entities,
|
| + * projection for entities with only projected properties, keyOnly for
|
| + * entities with only a key.
|
| + * Possible string values are:
|
| + * - "FULL"
|
| + * - "KEY_ONLY"
|
| + * - "PROJECTION"
|
| + */
|
| + core.String entityResultType;
|
| +
|
| + /** The results for this batch. */
|
| + core.List<EntityResult> entityResults;
|
| +
|
| + /**
|
| + * The state of the query after the current batch. One of notFinished,
|
| + * moreResultsAfterLimit, noMoreResults.
|
| + * Possible string values are:
|
| + * - "MORE_RESULTS_AFTER_LIMIT"
|
| + * - "NOT_FINISHED"
|
| + * - "NO_MORE_RESULTS"
|
| + */
|
| + core.String moreResults;
|
| +
|
| + /** The number of results skipped because of Query.offset. */
|
| + core.int skippedResults;
|
| +
|
| +
|
| + QueryResultBatch();
|
| +
|
| + QueryResultBatch.fromJson(core.Map _json) {
|
| + if (_json.containsKey("endCursor")) {
|
| + endCursor = _json["endCursor"];
|
| + }
|
| + if (_json.containsKey("entityResultType")) {
|
| + entityResultType = _json["entityResultType"];
|
| + }
|
| + if (_json.containsKey("entityResults")) {
|
| + entityResults = _json["entityResults"].map((value) => new EntityResult.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("moreResults")) {
|
| + moreResults = _json["moreResults"];
|
| + }
|
| + if (_json.containsKey("skippedResults")) {
|
| + skippedResults = _json["skippedResults"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (endCursor != null) {
|
| + _json["endCursor"] = endCursor;
|
| + }
|
| + if (entityResultType != null) {
|
| + _json["entityResultType"] = entityResultType;
|
| + }
|
| + if (entityResults != null) {
|
| + _json["entityResults"] = entityResults.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (moreResults != null) {
|
| + _json["moreResults"] = moreResults;
|
| + }
|
| + if (skippedResults != null) {
|
| + _json["skippedResults"] = skippedResults;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ReadOptions {
|
| + /**
|
| + * The read consistency to use. One of default, strong, or eventual. Cannot be
|
| + * set when transaction is set. Lookup and ancestor queries default to strong,
|
| + * global queries default to eventual and cannot be set to strong. Optional.
|
| + * Default is default.
|
| + * Possible string values are:
|
| + * - "DEFAULT"
|
| + * - "EVENTUAL"
|
| + * - "STRONG"
|
| + */
|
| + core.String readConsistency;
|
| +
|
| + /** The transaction to use. Optional. */
|
| + core.String transaction;
|
| +
|
| + core.List<core.int> get transactionAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(transaction);
|
| + }
|
| +
|
| + void set transactionAsBytes(core.List<core.int> _bytes) {
|
| + transaction = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| +
|
| + ReadOptions();
|
| +
|
| + ReadOptions.fromJson(core.Map _json) {
|
| + if (_json.containsKey("readConsistency")) {
|
| + readConsistency = _json["readConsistency"];
|
| + }
|
| + if (_json.containsKey("transaction")) {
|
| + transaction = _json["transaction"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (readConsistency != null) {
|
| + _json["readConsistency"] = readConsistency;
|
| + }
|
| + if (transaction != null) {
|
| + _json["transaction"] = transaction;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class ResponseHeader {
|
| + /**
|
| + * Identifies what kind of resource this is. Value: the fixed string
|
| + * "datastore#responseHeader".
|
| + */
|
| + core.String kind;
|
| +
|
| +
|
| + ResponseHeader();
|
| +
|
| + ResponseHeader.fromJson(core.Map _json) {
|
| + if (_json.containsKey("kind")) {
|
| + kind = _json["kind"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (kind != null) {
|
| + _json["kind"] = kind;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class RollbackRequest {
|
| + /** The transaction identifier, returned by a call to beginTransaction. */
|
| + core.String transaction;
|
| +
|
| + core.List<core.int> get transactionAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(transaction);
|
| + }
|
| +
|
| + void set transactionAsBytes(core.List<core.int> _bytes) {
|
| + transaction = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| +
|
| + RollbackRequest();
|
| +
|
| + RollbackRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("transaction")) {
|
| + transaction = _json["transaction"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (transaction != null) {
|
| + _json["transaction"] = transaction;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class RollbackResponse {
|
| + /** Not documented yet. */
|
| + ResponseHeader header;
|
| +
|
| +
|
| + RollbackResponse();
|
| +
|
| + RollbackResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("header")) {
|
| + header = new ResponseHeader.fromJson(_json["header"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (header != null) {
|
| + _json["header"] = (header).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class RunQueryRequest {
|
| + /**
|
| + * The GQL query to run. Either this field or field query must be set, but not
|
| + * both.
|
| + */
|
| + GqlQuery gqlQuery;
|
| +
|
| + /**
|
| + * Entities are partitioned into subsets, identified by a dataset (usually
|
| + * implicitly specified by the project) and namespace ID. Queries are scoped
|
| + * to a single partition. This partition ID is normalized with the standard
|
| + * default context partition ID, but all other partition IDs in
|
| + * RunQueryRequest are normalized with this partition ID as the context
|
| + * partition ID.
|
| + */
|
| + PartitionId partitionId;
|
| +
|
| + /**
|
| + * The query to run. Either this field or field gql_query must be set, but not
|
| + * both.
|
| + */
|
| + Query query;
|
| +
|
| + /** The options for this query. */
|
| + ReadOptions readOptions;
|
| +
|
| +
|
| + RunQueryRequest();
|
| +
|
| + RunQueryRequest.fromJson(core.Map _json) {
|
| + if (_json.containsKey("gqlQuery")) {
|
| + gqlQuery = new GqlQuery.fromJson(_json["gqlQuery"]);
|
| + }
|
| + if (_json.containsKey("partitionId")) {
|
| + partitionId = new PartitionId.fromJson(_json["partitionId"]);
|
| + }
|
| + if (_json.containsKey("query")) {
|
| + query = new Query.fromJson(_json["query"]);
|
| + }
|
| + if (_json.containsKey("readOptions")) {
|
| + readOptions = new ReadOptions.fromJson(_json["readOptions"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (gqlQuery != null) {
|
| + _json["gqlQuery"] = (gqlQuery).toJson();
|
| + }
|
| + if (partitionId != null) {
|
| + _json["partitionId"] = (partitionId).toJson();
|
| + }
|
| + if (query != null) {
|
| + _json["query"] = (query).toJson();
|
| + }
|
| + if (readOptions != null) {
|
| + _json["readOptions"] = (readOptions).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class RunQueryResponse {
|
| + /** A batch of query results (always present). */
|
| + QueryResultBatch batch;
|
| +
|
| + /** Not documented yet. */
|
| + ResponseHeader header;
|
| +
|
| +
|
| + RunQueryResponse();
|
| +
|
| + RunQueryResponse.fromJson(core.Map _json) {
|
| + if (_json.containsKey("batch")) {
|
| + batch = new QueryResultBatch.fromJson(_json["batch"]);
|
| + }
|
| + if (_json.containsKey("header")) {
|
| + header = new ResponseHeader.fromJson(_json["header"]);
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (batch != null) {
|
| + _json["batch"] = (batch).toJson();
|
| + }
|
| + if (header != null) {
|
| + _json["header"] = (header).toJson();
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
| +/** Not documented yet. */
|
| +class Value {
|
| + /** A blob key value. */
|
| + core.String blobKeyValue;
|
| +
|
| + /** A blob value. May be a maximum of 1,000,000 bytes. */
|
| + core.String blobValue;
|
| +
|
| + core.List<core.int> get blobValueAsBytes {
|
| + return crypto.CryptoUtils.base64StringToBytes(blobValue);
|
| + }
|
| +
|
| + void set blobValueAsBytes(core.List<core.int> _bytes) {
|
| + blobValue = crypto.CryptoUtils.bytesToBase64(_bytes, urlSafe: true);
|
| + }
|
| +
|
| + /** A boolean value. */
|
| + core.bool booleanValue;
|
| +
|
| + /** A timestamp value. */
|
| + core.DateTime dateTimeValue;
|
| +
|
| + /** A double value. */
|
| + core.double doubleValue;
|
| +
|
| + /**
|
| + * An entity value. May have no key. May have a key with an incomplete key
|
| + * path. May have a reserved/read-only key.
|
| + */
|
| + Entity entityValue;
|
| +
|
| + /**
|
| + * If the value should be indexed.
|
| + *
|
| + * The indexed property may be set for a null value. When indexed is true,
|
| + * stringValue is limited to 500 characters and the blob value is limited to
|
| + * 500 bytes. Input values by default have indexed set to true; however, you
|
| + * can explicitly set indexed to true if you want. (An output value never has
|
| + * indexed explicitly set to true.) If a value is itself an entity, it cannot
|
| + * have indexed set to true.
|
| + */
|
| + core.bool indexed;
|
| +
|
| + /** An integer value. */
|
| + core.String integerValue;
|
| +
|
| + /** A key value. */
|
| + Key keyValue;
|
| +
|
| + /**
|
| + * A list value. Cannot contain another list value. Cannot also have a meaning
|
| + * and indexing set.
|
| + */
|
| + core.List<Value> listValue;
|
| +
|
| + /** The meaning field is reserved and should not be used. */
|
| + core.int meaning;
|
| +
|
| + /** A UTF-8 encoded string value. */
|
| + core.String stringValue;
|
| +
|
| +
|
| + Value();
|
| +
|
| + Value.fromJson(core.Map _json) {
|
| + if (_json.containsKey("blobKeyValue")) {
|
| + blobKeyValue = _json["blobKeyValue"];
|
| + }
|
| + if (_json.containsKey("blobValue")) {
|
| + blobValue = _json["blobValue"];
|
| + }
|
| + if (_json.containsKey("booleanValue")) {
|
| + booleanValue = _json["booleanValue"];
|
| + }
|
| + if (_json.containsKey("dateTimeValue")) {
|
| + dateTimeValue = core.DateTime.parse(_json["dateTimeValue"]);
|
| + }
|
| + if (_json.containsKey("doubleValue")) {
|
| + doubleValue = _json["doubleValue"];
|
| + }
|
| + if (_json.containsKey("entityValue")) {
|
| + entityValue = new Entity.fromJson(_json["entityValue"]);
|
| + }
|
| + if (_json.containsKey("indexed")) {
|
| + indexed = _json["indexed"];
|
| + }
|
| + if (_json.containsKey("integerValue")) {
|
| + integerValue = _json["integerValue"];
|
| + }
|
| + if (_json.containsKey("keyValue")) {
|
| + keyValue = new Key.fromJson(_json["keyValue"]);
|
| + }
|
| + if (_json.containsKey("listValue")) {
|
| + listValue = _json["listValue"].map((value) => new Value.fromJson(value)).toList();
|
| + }
|
| + if (_json.containsKey("meaning")) {
|
| + meaning = _json["meaning"];
|
| + }
|
| + if (_json.containsKey("stringValue")) {
|
| + stringValue = _json["stringValue"];
|
| + }
|
| + }
|
| +
|
| + core.Map toJson() {
|
| + var _json = new core.Map();
|
| + if (blobKeyValue != null) {
|
| + _json["blobKeyValue"] = blobKeyValue;
|
| + }
|
| + if (blobValue != null) {
|
| + _json["blobValue"] = blobValue;
|
| + }
|
| + if (booleanValue != null) {
|
| + _json["booleanValue"] = booleanValue;
|
| + }
|
| + if (dateTimeValue != null) {
|
| + _json["dateTimeValue"] = (dateTimeValue).toIso8601String();
|
| + }
|
| + if (doubleValue != null) {
|
| + _json["doubleValue"] = doubleValue;
|
| + }
|
| + if (entityValue != null) {
|
| + _json["entityValue"] = (entityValue).toJson();
|
| + }
|
| + if (indexed != null) {
|
| + _json["indexed"] = indexed;
|
| + }
|
| + if (integerValue != null) {
|
| + _json["integerValue"] = integerValue;
|
| + }
|
| + if (keyValue != null) {
|
| + _json["keyValue"] = (keyValue).toJson();
|
| + }
|
| + if (listValue != null) {
|
| + _json["listValue"] = listValue.map((value) => (value).toJson()).toList();
|
| + }
|
| + if (meaning != null) {
|
| + _json["meaning"] = meaning;
|
| + }
|
| + if (stringValue != null) {
|
| + _json["stringValue"] = stringValue;
|
| + }
|
| + return _json;
|
| + }
|
| +}
|
| +
|
| +
|
|
|