Api roll 1: 2014-09-23 R=sgjesse@google.com Review URL: https://codereview.chromium.org//595873002
diff --git a/generated/googleapis/lib/adexchangebuyer/v1_3.dart b/generated/googleapis/lib/adexchangebuyer/v1_3.dart index 90d091c..12b5035 100644 --- a/generated/googleapis/lib/adexchangebuyer/v1_3.dart +++ b/generated/googleapis/lib/adexchangebuyer/v1_3.dart
@@ -32,7 +32,7 @@ PretargetingConfigResourceApi get pretargetingConfig => new PretargetingConfigResourceApi(_requester); AdexchangebuyerApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/adexchangebuyer/v1.3/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "adexchangebuyer/v1.3/"); }
diff --git a/generated/googleapis/lib/adexchangeseller/v1_1.dart b/generated/googleapis/lib/adexchangeseller/v1_1.dart index c01b32b..d7c971e 100644 --- a/generated/googleapis/lib/adexchangeseller/v1_1.dart +++ b/generated/googleapis/lib/adexchangeseller/v1_1.dart
@@ -38,7 +38,7 @@ UrlchannelsResourceApi get urlchannels => new UrlchannelsResourceApi(_requester); AdexchangesellerApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/adexchangeseller/v1.1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "adexchangeseller/v1.1/"); }
diff --git a/generated/googleapis/lib/admin/directory_v1.dart b/generated/googleapis/lib/admin/directory_v1.dart index 574c65a..f31570d 100644 --- a/generated/googleapis/lib/admin/directory_v1.dart +++ b/generated/googleapis/lib/admin/directory_v1.dart
@@ -70,6 +70,12 @@ /** Manage data access permissions for users on your domain */ static const AdminDirectoryUserSecurityScope = "https://www.googleapis.com/auth/admin.directory.user.security"; + /** View and manage the provisioning of user schemas on your domain */ + static const AdminDirectoryUserschemaScope = "https://www.googleapis.com/auth/admin.directory.userschema"; + + /** View user schemas on your domain */ + static const AdminDirectoryUserschemaReadonlyScope = "https://www.googleapis.com/auth/admin.directory.userschema.readonly"; + final common_internal.ApiRequester _requester; @@ -81,12 +87,13 @@ MobiledevicesResourceApi get mobiledevices => new MobiledevicesResourceApi(_requester); NotificationsResourceApi get notifications => new NotificationsResourceApi(_requester); OrgunitsResourceApi get orgunits => new OrgunitsResourceApi(_requester); + SchemasResourceApi get schemas => new SchemasResourceApi(_requester); TokensResourceApi get tokens => new TokensResourceApi(_requester); UsersResourceApi get users => new UsersResourceApi(_requester); VerificationCodesResourceApi get verificationCodes => new VerificationCodesResourceApi(_requester); AdminApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/admin/directory/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "admin/directory/v1/"); } @@ -2083,6 +2090,290 @@ /** Not documented yet. */ +class SchemasResourceApi { + final common_internal.ApiRequester _requester; + + SchemasResourceApi(common_internal.ApiRequester client) : + _requester = client; + + /** + * Delete schema + * + * Request parameters: + * + * [customerId] - Immutable id of the Google Apps account + * + * [schemaKey] - Name or immutable Id of the schema + * + * 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 delete(core.String customerId, core.String schemaKey) { + var _url = null; + var _queryParams = new core.Map(); + var _uploadMedia = null; + var _uploadOptions = null; + var _downloadOptions = common.DownloadOptions.Metadata; + var _body = null; + + if (customerId == null) { + throw new core.ArgumentError("Parameter customerId is required."); + } + if (schemaKey == null) { + throw new core.ArgumentError("Parameter schemaKey is required."); + } + + _downloadOptions = null; + + _url = 'customer/' + common_internal.Escaper.ecapeVariable('$customerId') + '/schemas/' + common_internal.Escaper.ecapeVariable('$schemaKey'); + + var _response = _requester.request(_url, + "DELETE", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => null); + } + + /** + * Retrieve schema + * + * Request parameters: + * + * [customerId] - Immutable id of the Google Apps account + * + * [schemaKey] - Name or immutable Id of the schema + * + * Completes with a [Schema]. + * + * 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<Schema> get(core.String customerId, core.String schemaKey) { + var _url = null; + var _queryParams = new core.Map(); + var _uploadMedia = null; + var _uploadOptions = null; + var _downloadOptions = common.DownloadOptions.Metadata; + var _body = null; + + if (customerId == null) { + throw new core.ArgumentError("Parameter customerId is required."); + } + if (schemaKey == null) { + throw new core.ArgumentError("Parameter schemaKey is required."); + } + + + _url = 'customer/' + common_internal.Escaper.ecapeVariable('$customerId') + '/schemas/' + common_internal.Escaper.ecapeVariable('$schemaKey'); + + var _response = _requester.request(_url, + "GET", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new Schema.fromJson(data)); + } + + /** + * Create schema. + * + * [request] - The metadata request object. + * + * Request parameters: + * + * [customerId] - Immutable id of the Google Apps account + * + * Completes with a [Schema]. + * + * 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<Schema> insert(Schema request, core.String customerId) { + 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 (customerId == null) { + throw new core.ArgumentError("Parameter customerId is required."); + } + + + _url = 'customer/' + common_internal.Escaper.ecapeVariable('$customerId') + '/schemas'; + + var _response = _requester.request(_url, + "POST", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new Schema.fromJson(data)); + } + + /** + * Retrieve all schemas for a customer + * + * Request parameters: + * + * [customerId] - Immutable id of the Google Apps account + * + * Completes with a [Schemas]. + * + * 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<Schemas> list(core.String customerId) { + var _url = null; + var _queryParams = new core.Map(); + var _uploadMedia = null; + var _uploadOptions = null; + var _downloadOptions = common.DownloadOptions.Metadata; + var _body = null; + + if (customerId == null) { + throw new core.ArgumentError("Parameter customerId is required."); + } + + + _url = 'customer/' + common_internal.Escaper.ecapeVariable('$customerId') + '/schemas'; + + var _response = _requester.request(_url, + "GET", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new Schemas.fromJson(data)); + } + + /** + * Update schema. This method supports patch semantics. + * + * [request] - The metadata request object. + * + * Request parameters: + * + * [customerId] - Immutable id of the Google Apps account + * + * [schemaKey] - Name or immutable Id of the schema. + * + * Completes with a [Schema]. + * + * 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<Schema> patch(Schema request, core.String customerId, core.String schemaKey) { + 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 (customerId == null) { + throw new core.ArgumentError("Parameter customerId is required."); + } + if (schemaKey == null) { + throw new core.ArgumentError("Parameter schemaKey is required."); + } + + + _url = 'customer/' + common_internal.Escaper.ecapeVariable('$customerId') + '/schemas/' + common_internal.Escaper.ecapeVariable('$schemaKey'); + + var _response = _requester.request(_url, + "PATCH", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new Schema.fromJson(data)); + } + + /** + * Update schema + * + * [request] - The metadata request object. + * + * Request parameters: + * + * [customerId] - Immutable id of the Google Apps account + * + * [schemaKey] - Name or immutable Id of the schema. + * + * Completes with a [Schema]. + * + * 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<Schema> update(Schema request, core.String customerId, core.String schemaKey) { + 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 (customerId == null) { + throw new core.ArgumentError("Parameter customerId is required."); + } + if (schemaKey == null) { + throw new core.ArgumentError("Parameter schemaKey is required."); + } + + + _url = 'customer/' + common_internal.Escaper.ecapeVariable('$customerId') + '/schemas/' + common_internal.Escaper.ecapeVariable('$schemaKey'); + + var _response = _requester.request(_url, + "PUT", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new Schema.fromJson(data)); + } + +} + + +/** Not documented yet. */ class TokensResourceApi { final common_internal.ApiRequester _requester; @@ -2281,6 +2572,22 @@ * * [userKey] - Email or immutable Id of the user * + * [customFieldMask] - Comma-separated list of schema names. All fields from + * these schemas are fetched. This should only be set when projection=custom. + * + * [projection] - What subset of fields to fetch for this user. + * Possible string values are: + * - "basic" : Do not include any custom fields for the user. + * - "custom" : Include custom fields from schemas mentioned in + * customFieldMask. + * - "full" : Include all fields associated with this user. + * + * [viewType] - Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the + * user. + * Possible string values are: + * - "admin_view" : Fetches the ADMIN_VIEW of the user. + * - "domain_public" : Fetches the DOMAIN_PUBLIC view of the user. + * * Completes with a [User]. * * Completes with a [common.ApiRequestError] if the API endpoint returned an @@ -2289,7 +2596,7 @@ * If the used [http.Client] completes with an error when making a REST call, * this method will complete with the same error. */ - async.Future<User> get(core.String userKey) { + async.Future<User> get(core.String userKey, {core.String customFieldMask, core.String projection, core.String viewType}) { var _url = null; var _queryParams = new core.Map(); var _uploadMedia = null; @@ -2300,6 +2607,15 @@ if (userKey == null) { throw new core.ArgumentError("Parameter userKey is required."); } + if (customFieldMask != null) { + _queryParams["customFieldMask"] = [customFieldMask]; + } + if (projection != null) { + _queryParams["projection"] = [projection]; + } + if (viewType != null) { + _queryParams["viewType"] = [viewType]; + } _url = 'users/' + common_internal.Escaper.ecapeVariable('$userKey'); @@ -2359,6 +2675,9 @@ * * Request parameters: * + * [customFieldMask] - Comma-separated list of schema names. All fields from + * these schemas are fetched. This should only be set when projection=custom. + * * [customer] - Immutable id of the Google Apps account. In case of * multi-domain, to fetch all users for a customer, fill this field instead of * domain. @@ -2386,10 +2705,16 @@ * * [pageToken] - Token to specify next page in the list * - * [query] - Query string search. Should be of the form "" where field can be - * any of supported fields, operators can be one of '=' for exact match or ':' - * for prefix match. For prefix match, the value should always be followed by - * a *. + * [projection] - What subset of fields to fetch for this user. + * Possible string values are: + * - "basic" : Do not include any custom fields for the user. + * - "custom" : Include custom fields from schemas mentioned in + * customFieldMask. + * - "full" : Include all fields associated with this user. + * + * [query] - Query string search. Should be of the form "". Complete + * documentation is at + * https://developers.google.com/admin-sdk/directory/v1/guides/search-users * * [showDeleted] - If set to true retrieves the list of deleted users. Default * is false @@ -2399,6 +2724,12 @@ * - "ASCENDING" : Ascending order. * - "DESCENDING" : Descending order. * + * [viewType] - Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the + * user. + * Possible string values are: + * - "admin_view" : Fetches the ADMIN_VIEW of the user. + * - "domain_public" : Fetches the DOMAIN_PUBLIC view of the user. + * * Completes with a [Users]. * * Completes with a [common.ApiRequestError] if the API endpoint returned an @@ -2407,7 +2738,7 @@ * If the used [http.Client] completes with an error when making a REST call, * this method will complete with the same error. */ - async.Future<Users> list({core.String customer, core.String domain, core.String event, core.int maxResults, core.String orderBy, core.String pageToken, core.String query, core.String showDeleted, core.String sortOrder}) { + async.Future<Users> list({core.String customFieldMask, core.String customer, core.String domain, core.String event, core.int maxResults, core.String orderBy, core.String pageToken, core.String projection, core.String query, core.String showDeleted, core.String sortOrder, core.String viewType}) { var _url = null; var _queryParams = new core.Map(); var _uploadMedia = null; @@ -2415,6 +2746,9 @@ var _downloadOptions = common.DownloadOptions.Metadata; var _body = null; + if (customFieldMask != null) { + _queryParams["customFieldMask"] = [customFieldMask]; + } if (customer != null) { _queryParams["customer"] = [customer]; } @@ -2433,6 +2767,9 @@ if (pageToken != null) { _queryParams["pageToken"] = [pageToken]; } + if (projection != null) { + _queryParams["projection"] = [projection]; + } if (query != null) { _queryParams["query"] = [query]; } @@ -2442,6 +2779,9 @@ if (sortOrder != null) { _queryParams["sortOrder"] = [sortOrder]; } + if (viewType != null) { + _queryParams["viewType"] = [viewType]; + } _url = 'users'; @@ -2643,6 +2983,9 @@ * * Request parameters: * + * [customFieldMask] - Comma-separated list of schema names. All fields from + * these schemas are fetched. This should only be set when projection=custom. + * * [customer] - Immutable id of the Google Apps account. In case of * multi-domain, to fetch all users for a customer, fill this field instead of * domain. @@ -2670,10 +3013,16 @@ * * [pageToken] - Token to specify next page in the list * - * [query] - Query string search. Should be of the form "" where field can be - * any of supported fields, operators can be one of '=' for exact match or ':' - * for prefix match. For prefix match, the value should always be followed by - * a *. + * [projection] - What subset of fields to fetch for this user. + * Possible string values are: + * - "basic" : Do not include any custom fields for the user. + * - "custom" : Include custom fields from schemas mentioned in + * customFieldMask. + * - "full" : Include all fields associated with this user. + * + * [query] - Query string search. Should be of the form "". Complete + * documentation is at + * https://developers.google.com/admin-sdk/directory/v1/guides/search-users * * [showDeleted] - If set to true retrieves the list of deleted users. Default * is false @@ -2683,6 +3032,12 @@ * - "ASCENDING" : Ascending order. * - "DESCENDING" : Descending order. * + * [viewType] - Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the + * user. + * Possible string values are: + * - "admin_view" : Fetches the ADMIN_VIEW of the user. + * - "domain_public" : Fetches the DOMAIN_PUBLIC view of the user. + * * Completes with a [Channel]. * * Completes with a [common.ApiRequestError] if the API endpoint returned an @@ -2691,7 +3046,7 @@ * If the used [http.Client] completes with an error when making a REST call, * this method will complete with the same error. */ - async.Future<Channel> watch(Channel request, {core.String customer, core.String domain, core.String event, core.int maxResults, core.String orderBy, core.String pageToken, core.String query, core.String showDeleted, core.String sortOrder}) { + async.Future<Channel> watch(Channel request, {core.String customFieldMask, core.String customer, core.String domain, core.String event, core.int maxResults, core.String orderBy, core.String pageToken, core.String projection, core.String query, core.String showDeleted, core.String sortOrder, core.String viewType}) { var _url = null; var _queryParams = new core.Map(); var _uploadMedia = null; @@ -2702,6 +3057,9 @@ if (request != null) { _body = convert.JSON.encode((request).toJson()); } + if (customFieldMask != null) { + _queryParams["customFieldMask"] = [customFieldMask]; + } if (customer != null) { _queryParams["customer"] = [customer]; } @@ -2720,6 +3078,9 @@ if (pageToken != null) { _queryParams["pageToken"] = [pageToken]; } + if (projection != null) { + _queryParams["projection"] = [projection]; + } if (query != null) { _queryParams["query"] = [query]; } @@ -2729,6 +3090,9 @@ if (sortOrder != null) { _queryParams["sortOrder"] = [sortOrder]; } + if (viewType != null) { + _queryParams["viewType"] = [viewType]; + } _url = 'users/watch'; @@ -4862,6 +5226,256 @@ } +/** JSON template for Schema resource in Directory API. */ +class Schema { + /** ETag of the resource. */ + core.String etag; + + /** Fields of Schema */ + core.List<SchemaFieldSpec> fields; + + /** Kind of resource this is. */ + core.String kind; + + /** Unique identifier of Schema (Read-only) */ + core.String schemaId; + + /** Schema name */ + core.String schemaName; + + + Schema(); + + Schema.fromJson(core.Map _json) { + if (_json.containsKey("etag")) { + etag = _json["etag"]; + } + if (_json.containsKey("fields")) { + fields = _json["fields"].map((value) => new SchemaFieldSpec.fromJson(value)).toList(); + } + if (_json.containsKey("kind")) { + kind = _json["kind"]; + } + if (_json.containsKey("schemaId")) { + schemaId = _json["schemaId"]; + } + if (_json.containsKey("schemaName")) { + schemaName = _json["schemaName"]; + } + } + + core.Map toJson() { + var _json = new core.Map(); + if (etag != null) { + _json["etag"] = etag; + } + if (fields != null) { + _json["fields"] = fields.map((value) => (value).toJson()).toList(); + } + if (kind != null) { + _json["kind"] = kind; + } + if (schemaId != null) { + _json["schemaId"] = schemaId; + } + if (schemaName != null) { + _json["schemaName"] = schemaName; + } + return _json; + } +} + + +/** + * Indexing spec for a numeric field. By default, only exact match queries will + * be supported for numeric fields. Setting the numericIndexingSpec allows range + * queries to be supported. + */ +class SchemaFieldSpecNumericIndexingSpec { + /** + * Maximum value of this field. This is meant to be indicative rather than + * enforced. Values outside this range will still be indexed, but search may + * not be as performant. + */ + core.double maxValue; + + /** + * Minimum value of this field. This is meant to be indicative rather than + * enforced. Values outside this range will still be indexed, but search may + * not be as performant. + */ + core.double minValue; + + + SchemaFieldSpecNumericIndexingSpec(); + + SchemaFieldSpecNumericIndexingSpec.fromJson(core.Map _json) { + if (_json.containsKey("maxValue")) { + maxValue = _json["maxValue"]; + } + if (_json.containsKey("minValue")) { + minValue = _json["minValue"]; + } + } + + core.Map toJson() { + var _json = new core.Map(); + if (maxValue != null) { + _json["maxValue"] = maxValue; + } + if (minValue != null) { + _json["minValue"] = minValue; + } + return _json; + } +} + + +/** JSON template for FieldSpec resource for Schemas in Directory API. */ +class SchemaFieldSpec { + /** ETag of the resource. */ + core.String etag; + + /** Unique identifier of Field (Read-only) */ + core.String fieldId; + + /** Name of the field. */ + core.String fieldName; + + /** Type of the field. */ + core.String fieldType; + + /** Boolean specifying whether the field is indexed or not. */ + core.bool indexed; + + /** Kind of resource this is. */ + core.String kind; + + /** Boolean specifying whether this is a multi-valued field or not. */ + core.bool multiValued; + + /** + * Indexing spec for a numeric field. By default, only exact match queries + * will be supported for numeric fields. Setting the numericIndexingSpec + * allows range queries to be supported. + */ + SchemaFieldSpecNumericIndexingSpec numericIndexingSpec; + + /** + * Read ACLs on the field specifying who can view values of this field. Valid + * values are "ALL_DOMAIN_USERS" and "ADMINS_AND_SELF". + */ + core.String readAccessType; + + + SchemaFieldSpec(); + + SchemaFieldSpec.fromJson(core.Map _json) { + if (_json.containsKey("etag")) { + etag = _json["etag"]; + } + if (_json.containsKey("fieldId")) { + fieldId = _json["fieldId"]; + } + if (_json.containsKey("fieldName")) { + fieldName = _json["fieldName"]; + } + if (_json.containsKey("fieldType")) { + fieldType = _json["fieldType"]; + } + if (_json.containsKey("indexed")) { + indexed = _json["indexed"]; + } + if (_json.containsKey("kind")) { + kind = _json["kind"]; + } + if (_json.containsKey("multiValued")) { + multiValued = _json["multiValued"]; + } + if (_json.containsKey("numericIndexingSpec")) { + numericIndexingSpec = new SchemaFieldSpecNumericIndexingSpec.fromJson(_json["numericIndexingSpec"]); + } + if (_json.containsKey("readAccessType")) { + readAccessType = _json["readAccessType"]; + } + } + + core.Map toJson() { + var _json = new core.Map(); + if (etag != null) { + _json["etag"] = etag; + } + if (fieldId != null) { + _json["fieldId"] = fieldId; + } + if (fieldName != null) { + _json["fieldName"] = fieldName; + } + if (fieldType != null) { + _json["fieldType"] = fieldType; + } + if (indexed != null) { + _json["indexed"] = indexed; + } + if (kind != null) { + _json["kind"] = kind; + } + if (multiValued != null) { + _json["multiValued"] = multiValued; + } + if (numericIndexingSpec != null) { + _json["numericIndexingSpec"] = (numericIndexingSpec).toJson(); + } + if (readAccessType != null) { + _json["readAccessType"] = readAccessType; + } + return _json; + } +} + + +/** JSON response template for List Schema operation in Directory API. */ +class Schemas { + /** ETag of the resource. */ + core.String etag; + + /** Kind of resource this is. */ + core.String kind; + + /** List of UserSchema objects. */ + core.List<Schema> schemas; + + + Schemas(); + + Schemas.fromJson(core.Map _json) { + if (_json.containsKey("etag")) { + etag = _json["etag"]; + } + if (_json.containsKey("kind")) { + kind = _json["kind"]; + } + if (_json.containsKey("schemas")) { + schemas = _json["schemas"].map((value) => new Schema.fromJson(value)).toList(); + } + } + + core.Map toJson() { + var _json = new core.Map(); + if (etag != null) { + _json["etag"] = etag; + } + if (kind != null) { + _json["kind"] = kind; + } + if (schemas != null) { + _json["schemas"] = schemas.map((value) => (value).toJson()).toList(); + } + return _json; + } +} + + /** JSON template for token resource in Directory API. */ class Token { /** @@ -4999,7 +5613,7 @@ } -/** JSON template for User object in Apps Directory API. */ +/** JSON template for User object in Directory API. */ class User { /** * Not documented yet. @@ -5021,6 +5635,9 @@ /** User's Google account creation time. (Read-only) */ core.DateTime creationTime; + /** Custom fields of the user. */ + core.Map<core.String, UserCustomProperties> customSchemas; + /** CustomerId of User (Read-only) */ core.String customerId; @@ -5148,6 +5765,9 @@ if (_json.containsKey("creationTime")) { creationTime = core.DateTime.parse(_json["creationTime"]); } + if (_json.containsKey("customSchemas")) { + customSchemas = common_internal.mapMap(_json["customSchemas"], (item) => new UserCustomProperties.fromJson(item)); + } if (_json.containsKey("customerId")) { customerId = _json["customerId"]; } @@ -5245,6 +5865,9 @@ if (creationTime != null) { _json["creationTime"] = (creationTime).toIso8601String(); } + if (customSchemas != null) { + _json["customSchemas"] = customSchemas; + } if (customerId != null) { _json["customerId"] = customerId; } @@ -5472,6 +6095,47 @@ } +/** + * JSON template for a set of custom properties (i.e. all fields in a particular + * schema) + */ +class UserCustomProperties + extends collection.MapBase<core.String, core.Object> { + final core.Map _innerMap = {}; + + UserCustomProperties(); + + UserCustomProperties.fromJson(core.Map _json) { + _json.forEach((core.String key, value) { + this[key] = value; + }); + } + + core.Map toJson() { + var _json = {}; + this.forEach((core.String key, value) { + _json[key] = value; + }); + return _json; + } + + core.Object operator [](core.Object key) + => _innerMap[key]; + + operator []=(core.String key, core.Object value) { + _innerMap[key] = value; + } + + void clear() { + _innerMap.clear(); + } + + core.Iterable<core.String> get keys => _innerMap.keys; + + core.Object remove(core.Object key) => _innerMap.remove(key); +} + + /** JSON template for an email. */ class UserEmail { /** Email id of the user. */
diff --git a/generated/googleapis/lib/admin/email_migration_v2.dart b/generated/googleapis/lib/admin/email_migration_v2.dart index 86a7ee3..1511bc4 100644 --- a/generated/googleapis/lib/admin/email_migration_v2.dart +++ b/generated/googleapis/lib/admin/email_migration_v2.dart
@@ -24,7 +24,7 @@ MailResourceApi get mail => new MailResourceApi(_requester); AdminApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/email/v2/users/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "email/v2/users/"); }
diff --git a/generated/googleapis/lib/admin/reports_v1.dart b/generated/googleapis/lib/admin/reports_v1.dart index c3435d0..8814ae1 100644 --- a/generated/googleapis/lib/admin/reports_v1.dart +++ b/generated/googleapis/lib/admin/reports_v1.dart
@@ -33,7 +33,7 @@ UserUsageReportResourceApi get userUsageReport => new UserUsageReportResourceApi(_requester); AdminApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/admin/reports/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "admin/reports/v1/"); } @@ -573,6 +573,12 @@ /** Integral value of the parameter. */ core.String intValue; + /** Multi-int value of the parameter. */ + core.List<core.String> multiIntValue; + + /** Multi-string value of the parameter. */ + core.List<core.String> multiValue; + /** The name of the parameter. */ core.String name; @@ -589,6 +595,12 @@ if (_json.containsKey("intValue")) { intValue = _json["intValue"]; } + if (_json.containsKey("multiIntValue")) { + multiIntValue = _json["multiIntValue"]; + } + if (_json.containsKey("multiValue")) { + multiValue = _json["multiValue"]; + } if (_json.containsKey("name")) { name = _json["name"]; } @@ -605,6 +617,12 @@ if (intValue != null) { _json["intValue"] = intValue; } + if (multiIntValue != null) { + _json["multiIntValue"] = multiIntValue; + } + if (multiValue != null) { + _json["multiValue"] = multiValue; + } if (name != null) { _json["name"] = name; }
diff --git a/generated/googleapis/lib/adsense/v1_4.dart b/generated/googleapis/lib/adsense/v1_4.dart index 4d7369c..c3ebebd 100644 --- a/generated/googleapis/lib/adsense/v1_4.dart +++ b/generated/googleapis/lib/adsense/v1_4.dart
@@ -39,7 +39,7 @@ UrlchannelsResourceApi get urlchannels => new UrlchannelsResourceApi(_requester); AdsenseApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/adsense/v1.4/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "adsense/v1.4/"); }
diff --git a/generated/googleapis/lib/adsensehost/v4_1.dart b/generated/googleapis/lib/adsensehost/v4_1.dart index be8a79b..17636d5 100644 --- a/generated/googleapis/lib/adsensehost/v4_1.dart +++ b/generated/googleapis/lib/adsensehost/v4_1.dart
@@ -32,7 +32,7 @@ UrlchannelsResourceApi get urlchannels => new UrlchannelsResourceApi(_requester); AdsensehostApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/adsensehost/v4.1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "adsensehost/v4.1/"); }
diff --git a/generated/googleapis/lib/analytics/v3.dart b/generated/googleapis/lib/analytics/v3.dart index efc3d33..7fcd246 100644 --- a/generated/googleapis/lib/analytics/v3.dart +++ b/generated/googleapis/lib/analytics/v3.dart
@@ -42,7 +42,7 @@ ProvisioningResourceApi get provisioning => new ProvisioningResourceApi(_requester); AnalyticsApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/analytics/v3/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "analytics/v3/"); }
diff --git a/generated/googleapis/lib/androidpublisher/v2.dart b/generated/googleapis/lib/androidpublisher/v2.dart index 68193f1..9ec7205 100644 --- a/generated/googleapis/lib/androidpublisher/v2.dart +++ b/generated/googleapis/lib/androidpublisher/v2.dart
@@ -26,7 +26,7 @@ PurchasesResourceApi get purchases => new PurchasesResourceApi(_requester); AndroidpublisherApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/androidpublisher/v2/applications/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "androidpublisher/v2/applications/"); } @@ -2738,6 +2738,65 @@ } /** + * Defers a user's subscription purchase until a specified future expiration + * time. + * + * [request] - The metadata request object. + * + * Request parameters: + * + * [packageName] - The package name of the application for which this + * subscription was purchased (for example, 'com.some.thing'). + * + * [subscriptionId] - The purchased subscription ID (for example, + * 'monthly001'). + * + * [token] - The token provided to the user's device when the subscription was + * purchased. + * + * Completes with a [SubscriptionPurchasesDeferResponse]. + * + * 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<SubscriptionPurchasesDeferResponse> defer(SubscriptionPurchasesDeferRequest request, core.String packageName, core.String subscriptionId, core.String token) { + 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 (packageName == null) { + throw new core.ArgumentError("Parameter packageName is required."); + } + if (subscriptionId == null) { + throw new core.ArgumentError("Parameter subscriptionId is required."); + } + if (token == null) { + throw new core.ArgumentError("Parameter token is required."); + } + + + _url = common_internal.Escaper.ecapeVariable('$packageName') + '/purchases/subscriptions/' + common_internal.Escaper.ecapeVariable('$subscriptionId') + '/tokens/' + common_internal.Escaper.ecapeVariable('$token') + ':defer'; + + var _response = _requester.request(_url, + "POST", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new SubscriptionPurchasesDeferResponse.fromJson(data)); + } + + /** * Checks whether a user's subscription purchase is valid and returns its * expiry time. * @@ -2791,6 +2850,112 @@ return _response.then((data) => new SubscriptionPurchase.fromJson(data)); } + /** + * Refunds a user's subscription purchase, but the subscription remains valid + * until its expiration time and it will continue to recur. + * + * Request parameters: + * + * [packageName] - The package name of the application for which this + * subscription was purchased (for example, 'com.some.thing'). + * + * [subscriptionId] - The purchased subscription ID (for example, + * 'monthly001'). + * + * [token] - The token provided to the user's device when the subscription was + * purchased. + * + * 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 refund(core.String packageName, core.String subscriptionId, core.String token) { + var _url = null; + var _queryParams = new core.Map(); + var _uploadMedia = null; + var _uploadOptions = null; + var _downloadOptions = common.DownloadOptions.Metadata; + var _body = null; + + if (packageName == null) { + throw new core.ArgumentError("Parameter packageName is required."); + } + if (subscriptionId == null) { + throw new core.ArgumentError("Parameter subscriptionId is required."); + } + if (token == null) { + throw new core.ArgumentError("Parameter token is required."); + } + + _downloadOptions = null; + + _url = common_internal.Escaper.ecapeVariable('$packageName') + '/purchases/subscriptions/' + common_internal.Escaper.ecapeVariable('$subscriptionId') + '/tokens/' + common_internal.Escaper.ecapeVariable('$token') + ':refund'; + + var _response = _requester.request(_url, + "POST", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => null); + } + + /** + * Refunds and immediately revokes a user's subscription purchase. Access to + * the subscription will be terminated immediately and it will stop recurring. + * + * Request parameters: + * + * [packageName] - The package name of the application for which this + * subscription was purchased (for example, 'com.some.thing'). + * + * [subscriptionId] - The purchased subscription ID (for example, + * 'monthly001'). + * + * [token] - The token provided to the user's device when the subscription was + * purchased. + * + * 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 revoke(core.String packageName, core.String subscriptionId, core.String token) { + var _url = null; + var _queryParams = new core.Map(); + var _uploadMedia = null; + var _uploadOptions = null; + var _downloadOptions = common.DownloadOptions.Metadata; + var _body = null; + + if (packageName == null) { + throw new core.ArgumentError("Parameter packageName is required."); + } + if (subscriptionId == null) { + throw new core.ArgumentError("Parameter subscriptionId is required."); + } + if (token == null) { + throw new core.ArgumentError("Parameter token is required."); + } + + _downloadOptions = null; + + _url = common_internal.Escaper.ecapeVariable('$packageName') + '/purchases/subscriptions/' + common_internal.Escaper.ecapeVariable('$subscriptionId') + '/tokens/' + common_internal.Escaper.ecapeVariable('$token') + ':revoke'; + + var _response = _requester.request(_url, + "POST", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => null); + } + } @@ -3257,6 +3422,12 @@ /** Purchase type enum value. Unmodifiable after creation. */ core.String purchaseType; + /** + * Definition of a season for a seasonal subscription. Can be defined only for + * yearly subscriptions. + */ + Season season; + /** The stock-keeping-unit (SKU) of the product, unique within an app. */ core.String sku; @@ -3299,6 +3470,9 @@ if (_json.containsKey("purchaseType")) { purchaseType = _json["purchaseType"]; } + if (_json.containsKey("season")) { + season = new Season.fromJson(_json["season"]); + } if (_json.containsKey("sku")) { sku = _json["sku"]; } @@ -3333,6 +3507,9 @@ if (purchaseType != null) { _json["purchaseType"] = purchaseType; } + if (season != null) { + _json["season"] = (season).toJson(); + } if (sku != null) { _json["sku"] = sku; } @@ -3788,6 +3965,42 @@ /** Not documented yet. */ +class MonthDay { + /** + * Day of a month, value in [1, 31] range. Valid range depends on the + * specified month. + */ + core.int day; + + /** Month of a year. e.g. 1 = JAN, 2 = FEB etc. */ + core.int month; + + + MonthDay(); + + MonthDay.fromJson(core.Map _json) { + if (_json.containsKey("day")) { + day = _json["day"]; + } + if (_json.containsKey("month")) { + month = _json["month"]; + } + } + + core.Map toJson() { + var _json = new core.Map(); + if (day != null) { + _json["day"] = day; + } + if (month != null) { + _json["month"] = month; + } + return _json; + } +} + + +/** Not documented yet. */ class PageInfo { /** Not documented yet. */ core.int resultPerPage; @@ -3944,6 +4157,83 @@ } +/** Not documented yet. */ +class Season { + /** Inclusive end date of the recurrence period. */ + MonthDay end; + + /** Inclusive start date of the recurrence period. */ + MonthDay start; + + + Season(); + + Season.fromJson(core.Map _json) { + if (_json.containsKey("end")) { + end = new MonthDay.fromJson(_json["end"]); + } + if (_json.containsKey("start")) { + start = new MonthDay.fromJson(_json["start"]); + } + } + + core.Map toJson() { + var _json = new core.Map(); + if (end != null) { + _json["end"] = (end).toJson(); + } + if (start != null) { + _json["start"] = (start).toJson(); + } + return _json; + } +} + + +/** + * A SubscriptionDeferralInfo contains the data needed to defer a subscription + * purchase to a future expiry time. + */ +class SubscriptionDeferralInfo { + /** + * The desired next expiry time for the subscription in milliseconds since + * Epoch. The given time must be after the current expiry time for the + * subscription. + */ + core.String desiredExpiryTimeMillis; + + /** + * The expected expiry time for the subscription. If the current expiry time + * for the subscription is not the value specified here, the deferral will not + * occur. + */ + core.String expectedExpiryTimeMillis; + + + SubscriptionDeferralInfo(); + + SubscriptionDeferralInfo.fromJson(core.Map _json) { + if (_json.containsKey("desiredExpiryTimeMillis")) { + desiredExpiryTimeMillis = _json["desiredExpiryTimeMillis"]; + } + if (_json.containsKey("expectedExpiryTimeMillis")) { + expectedExpiryTimeMillis = _json["expectedExpiryTimeMillis"]; + } + } + + core.Map toJson() { + var _json = new core.Map(); + if (desiredExpiryTimeMillis != null) { + _json["desiredExpiryTimeMillis"] = desiredExpiryTimeMillis; + } + if (expectedExpiryTimeMillis != null) { + _json["expectedExpiryTimeMillis"] = expectedExpiryTimeMillis; + } + return _json; + } +} + + /** * A SubscriptionPurchase resource indicates the status of a user's subscription * purchase. @@ -4009,6 +4299,58 @@ /** Not documented yet. */ +class SubscriptionPurchasesDeferRequest { + /** + * The information about the new desired expiry time for the subscription. + */ + SubscriptionDeferralInfo deferralInfo; + + + SubscriptionPurchasesDeferRequest(); + + SubscriptionPurchasesDeferRequest.fromJson(core.Map _json) { + if (_json.containsKey("deferralInfo")) { + deferralInfo = new SubscriptionDeferralInfo.fromJson(_json["deferralInfo"]); + } + } + + core.Map toJson() { + var _json = new core.Map(); + if (deferralInfo != null) { + _json["deferralInfo"] = (deferralInfo).toJson(); + } + return _json; + } +} + + +/** Not documented yet. */ +class SubscriptionPurchasesDeferResponse { + /** + * The new expiry time for the subscription in milliseconds since the Epoch. + */ + core.String newExpiryTimeMillis; + + + SubscriptionPurchasesDeferResponse(); + + SubscriptionPurchasesDeferResponse.fromJson(core.Map _json) { + if (_json.containsKey("newExpiryTimeMillis")) { + newExpiryTimeMillis = _json["newExpiryTimeMillis"]; + } + } + + core.Map toJson() { + var _json = new core.Map(); + if (newExpiryTimeMillis != null) { + _json["newExpiryTimeMillis"] = newExpiryTimeMillis; + } + return _json; + } +} + + +/** Not documented yet. */ class Testers { /** Not documented yet. */ core.List<core.String> googleGroups;
diff --git a/generated/googleapis/lib/appsactivity/v1.dart b/generated/googleapis/lib/appsactivity/v1.dart index b8f990d..adecb6c 100644 --- a/generated/googleapis/lib/appsactivity/v1.dart +++ b/generated/googleapis/lib/appsactivity/v1.dart
@@ -33,7 +33,7 @@ ActivitiesResourceApi get activities => new ActivitiesResourceApi(_requester); AppsactivityApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/appsactivity/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "appsactivity/v1/"); }
diff --git a/generated/googleapis/lib/appstate/v1.dart b/generated/googleapis/lib/appstate/v1.dart index d90602a..f2b3278 100644 --- a/generated/googleapis/lib/appstate/v1.dart +++ b/generated/googleapis/lib/appstate/v1.dart
@@ -24,7 +24,7 @@ StatesResourceApi get states => new StatesResourceApi(_requester); AppstateApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/appstate/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "appstate/v1/"); }
diff --git a/generated/googleapis/lib/bigquery/v2.dart b/generated/googleapis/lib/bigquery/v2.dart index 74229c9..ad21da3 100644 --- a/generated/googleapis/lib/bigquery/v2.dart +++ b/generated/googleapis/lib/bigquery/v2.dart
@@ -43,7 +43,7 @@ TablesResourceApi get tables => new TablesResourceApi(_requester); BigqueryApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/bigquery/v2/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "bigquery/v2/"); }
diff --git a/generated/googleapis/lib/blogger/v3.dart b/generated/googleapis/lib/blogger/v3.dart index 9a2973c..d6dd27a 100644 --- a/generated/googleapis/lib/blogger/v3.dart +++ b/generated/googleapis/lib/blogger/v3.dart
@@ -34,7 +34,7 @@ UsersResourceApi get users => new UsersResourceApi(_requester); BloggerApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/blogger/v3/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "blogger/v3/"); }
diff --git a/generated/googleapis/lib/books/v1.dart b/generated/googleapis/lib/books/v1.dart index 1c913d3..619295d 100644 --- a/generated/googleapis/lib/books/v1.dart +++ b/generated/googleapis/lib/books/v1.dart
@@ -30,7 +30,7 @@ VolumesResourceApi get volumes => new VolumesResourceApi(_requester); BooksApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/books/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "books/v1/"); }
diff --git a/generated/googleapis/lib/calendar/v3.dart b/generated/googleapis/lib/calendar/v3.dart index a3c38b0..d0f0245 100644 --- a/generated/googleapis/lib/calendar/v3.dart +++ b/generated/googleapis/lib/calendar/v3.dart
@@ -34,7 +34,7 @@ SettingsResourceApi get settings => new SettingsResourceApi(_requester); CalendarApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/calendar/v3/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "calendar/v3/"); }
diff --git a/generated/googleapis/lib/civicinfo/us_v1.dart b/generated/googleapis/lib/civicinfo/us_v1.dart index 78584e0..81a93d3 100644 --- a/generated/googleapis/lib/civicinfo/us_v1.dart +++ b/generated/googleapis/lib/civicinfo/us_v1.dart
@@ -23,7 +23,7 @@ RepresentativesResourceApi get representatives => new RepresentativesResourceApi(_requester); CivicinfoApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/civicinfo/us_v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "civicinfo/us_v1/"); } @@ -1084,9 +1084,18 @@ /** Describes a political geography. */ class GeographicDivision { /** - * Any other valid OCD IDs that refer to the same division. For example, if - * this division's OCD ID is ocd-division/country:us/district:dc, this will - * contain ocd-division/country:us/state:dc. + * Any other valid OCD IDs that refer to the same division. + * + * Because OCD IDs are meant to be human-readable and at least somewhat + * predictable, there are occasionally several identifiers for a single + * division. These identifiers are defined to be equivalent to one another, + * and one is always indicated as the primary identifier. The primary + * identifier will be returned in ocd_id above, and any other equivalent valid + * identifiers will be returned in this list. + * + * For example, if this division's OCD ID is + * ocd-division/country:us/district:dc, this will contain + * ocd-division/country:us/state:dc. */ core.List<core.String> alsoKnownAs; @@ -1214,7 +1223,7 @@ } -/** Information about a official holding an elected office. */ +/** Information about a person holding an elected office. */ class Official { /** Addresses at which to contact the official. */ core.List<SimpleAddressType> address;
diff --git a/generated/googleapis/lib/civicinfo/v1.dart b/generated/googleapis/lib/civicinfo/v1.dart index d65c919..2869359 100644 --- a/generated/googleapis/lib/civicinfo/v1.dart +++ b/generated/googleapis/lib/civicinfo/v1.dart
@@ -23,7 +23,7 @@ RepresentativesResourceApi get representatives => new RepresentativesResourceApi(_requester); CivicinfoApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/civicinfo/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "civicinfo/v1/"); } @@ -1084,9 +1084,18 @@ /** Describes a political geography. */ class GeographicDivision { /** - * Any other valid OCD IDs that refer to the same division. For example, if - * this division's OCD ID is ocd-division/country:us/district:dc, this will - * contain ocd-division/country:us/state:dc. + * Any other valid OCD IDs that refer to the same division. + * + * Because OCD IDs are meant to be human-readable and at least somewhat + * predictable, there are occasionally several identifiers for a single + * division. These identifiers are defined to be equivalent to one another, + * and one is always indicated as the primary identifier. The primary + * identifier will be returned in ocd_id above, and any other equivalent valid + * identifiers will be returned in this list. + * + * For example, if this division's OCD ID is + * ocd-division/country:us/district:dc, this will contain + * ocd-division/country:us/state:dc. */ core.List<core.String> alsoKnownAs; @@ -1214,7 +1223,7 @@ } -/** Information about a official holding an elected office. */ +/** Information about a person holding an elected office. */ class Official { /** Addresses at which to contact the official. */ core.List<SimpleAddressType> address;
diff --git a/generated/googleapis/lib/compute/v1.dart b/generated/googleapis/lib/compute/v1.dart index 6549177..6660b94 100644 --- a/generated/googleapis/lib/compute/v1.dart +++ b/generated/googleapis/lib/compute/v1.dart
@@ -61,7 +61,7 @@ ZonesResourceApi get zones => new ZonesResourceApi(_requester); ComputeApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/compute/v1/projects/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "compute/v1/projects/"); }
diff --git a/generated/googleapis/lib/content/v2.dart b/generated/googleapis/lib/content/v2.dart index 098b4ae..8c0e8d8 100644 --- a/generated/googleapis/lib/content/v2.dart +++ b/generated/googleapis/lib/content/v2.dart
@@ -33,7 +33,7 @@ ProductstatusesResourceApi get productstatuses => new ProductstatusesResourceApi(_requester); ContentApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/content/v2/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "content/v2/"); }
diff --git a/generated/googleapis/lib/coordinate/v1.dart b/generated/googleapis/lib/coordinate/v1.dart index fb98e62..54d45a8 100644 --- a/generated/googleapis/lib/coordinate/v1.dart +++ b/generated/googleapis/lib/coordinate/v1.dart
@@ -31,7 +31,7 @@ WorkerResourceApi get worker => new WorkerResourceApi(_requester); CoordinateApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/coordinate/v1/teams/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "coordinate/v1/teams/"); }
diff --git a/generated/googleapis/lib/customsearch/v1.dart b/generated/googleapis/lib/customsearch/v1.dart index 6822db6..9d99025 100644 --- a/generated/googleapis/lib/customsearch/v1.dart +++ b/generated/googleapis/lib/customsearch/v1.dart
@@ -21,7 +21,7 @@ CseResourceApi get cse => new CseResourceApi(_requester); CustomsearchApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/customsearch/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "customsearch/"); }
diff --git a/generated/googleapis/lib/dfareporting/v1_3.dart b/generated/googleapis/lib/dfareporting/v1_3.dart index dff732d..1fbc48b 100644 --- a/generated/googleapis/lib/dfareporting/v1_3.dart +++ b/generated/googleapis/lib/dfareporting/v1_3.dart
@@ -27,7 +27,7 @@ UserProfilesResourceApi get userProfiles => new UserProfilesResourceApi(_requester); DfareportingApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/dfareporting/v1.3/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "dfareporting/v1.3/"); }
diff --git a/generated/googleapis/lib/discovery/v1.dart b/generated/googleapis/lib/discovery/v1.dart index 82b9e44..8243068 100644 --- a/generated/googleapis/lib/discovery/v1.dart +++ b/generated/googleapis/lib/discovery/v1.dart
@@ -24,7 +24,7 @@ ApisResourceApi get apis => new ApisResourceApi(_requester); DiscoveryApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/discovery/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "discovery/v1/"); }
diff --git a/generated/googleapis/lib/doubleclickbidmanager/v1.dart b/generated/googleapis/lib/doubleclickbidmanager/v1.dart index ac90b3a..cce3e80 100644 --- a/generated/googleapis/lib/doubleclickbidmanager/v1.dart +++ b/generated/googleapis/lib/doubleclickbidmanager/v1.dart
@@ -23,7 +23,7 @@ ReportsResourceApi get reports => new ReportsResourceApi(_requester); DoubleclickbidmanagerApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/doubleclickbidmanager/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "doubleclickbidmanager/v1/"); }
diff --git a/generated/googleapis/lib/doubleclicksearch/v2.dart b/generated/googleapis/lib/doubleclicksearch/v2.dart index 759ac86..9a9613b 100644 --- a/generated/googleapis/lib/doubleclicksearch/v2.dart +++ b/generated/googleapis/lib/doubleclicksearch/v2.dart
@@ -29,7 +29,7 @@ SavedColumnsResourceApi get savedColumns => new SavedColumnsResourceApi(_requester); DoubleclicksearchApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/doubleclicksearch/v2/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "doubleclicksearch/v2/"); }
diff --git a/generated/googleapis/lib/drive/v2.dart b/generated/googleapis/lib/drive/v2.dart index 4c092e3..042f969 100644 --- a/generated/googleapis/lib/drive/v2.dart +++ b/generated/googleapis/lib/drive/v2.dart
@@ -57,7 +57,7 @@ RevisionsResourceApi get revisions => new RevisionsResourceApi(_requester); DriveApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/drive/v2/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "drive/v2/"); } @@ -5389,6 +5389,48 @@ } +/** Metadata about video media. This will only be present for video types. */ +class FileVideoMediaMetadata { + /** The duration of the video in milliseconds. */ + core.String durationMillis; + + /** The height of the video in pixels. */ + core.int height; + + /** The width of the video in pixels. */ + core.int width; + + + FileVideoMediaMetadata(); + + FileVideoMediaMetadata.fromJson(core.Map _json) { + if (_json.containsKey("durationMillis")) { + durationMillis = _json["durationMillis"]; + } + if (_json.containsKey("height")) { + height = _json["height"]; + } + if (_json.containsKey("width")) { + width = _json["width"]; + } + } + + core.Map toJson() { + var _json = new core.Map(); + if (durationMillis != null) { + _json["durationMillis"] = durationMillis; + } + if (height != null) { + _json["height"] = height; + } + if (width != null) { + _json["width"] = width; + } + return _json; + } +} + + /** The metadata for a file. */ class File { /** A link for opening the file in a relevant Google editor or viewer. */ @@ -5593,6 +5635,9 @@ */ core.String version; + /** Metadata about video media. This will only be present for video types. */ + FileVideoMediaMetadata videoMediaMetadata; + /** * A link for downloading the content of the file in a browser using cookie * based authentication. In cases where the content is shared publicly, the @@ -5751,6 +5796,9 @@ if (_json.containsKey("version")) { version = _json["version"]; } + if (_json.containsKey("videoMediaMetadata")) { + videoMediaMetadata = new FileVideoMediaMetadata.fromJson(_json["videoMediaMetadata"]); + } if (_json.containsKey("webContentLink")) { webContentLink = _json["webContentLink"]; } @@ -5902,6 +5950,9 @@ if (version != null) { _json["version"] = version; } + if (videoMediaMetadata != null) { + _json["videoMediaMetadata"] = (videoMediaMetadata).toJson(); + } if (webContentLink != null) { _json["webContentLink"] = webContentLink; } @@ -6113,9 +6164,7 @@ /** * The email address of the user this permission refers to. This is an - * output-only field which is present when the permission type is user and the - * given user's Google+ profile privacy settings allow exposing their email - * address. + * output-only field which is present when the permission type is user. */ core.String emailAddress;
diff --git a/generated/googleapis/lib/freebase/v1.dart b/generated/googleapis/lib/freebase/v1.dart index b90bdfb..a58a222 100644 --- a/generated/googleapis/lib/freebase/v1.dart +++ b/generated/googleapis/lib/freebase/v1.dart
@@ -19,7 +19,7 @@ final common_internal.ApiRequester _requester; FreebaseApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/freebase/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "freebase/v1/"); /** * Reconcile entities to Freebase open data.
diff --git a/generated/googleapis/lib/fusiontables/v1.dart b/generated/googleapis/lib/fusiontables/v1.dart index 0004ce1..90b9099 100644 --- a/generated/googleapis/lib/fusiontables/v1.dart +++ b/generated/googleapis/lib/fusiontables/v1.dart
@@ -32,7 +32,7 @@ TemplateResourceApi get template => new TemplateResourceApi(_requester); FusiontablesApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/fusiontables/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "fusiontables/v1/"); }
diff --git a/generated/googleapis/lib/games/v1.dart b/generated/googleapis/lib/games/v1.dart index 08e0fc9..c41bada 100644 --- a/generated/googleapis/lib/games/v1.dart +++ b/generated/googleapis/lib/games/v1.dart
@@ -47,7 +47,7 @@ TurnBasedMatchesResourceApi get turnBasedMatches => new TurnBasedMatchesResourceApi(_requester); GamesApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/games/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "games/v1/"); }
diff --git a/generated/googleapis/lib/gamesmanagement/v1management.dart b/generated/googleapis/lib/gamesmanagement/v1management.dart index 94cf47c..feabf0a 100644 --- a/generated/googleapis/lib/gamesmanagement/v1management.dart +++ b/generated/googleapis/lib/gamesmanagement/v1management.dart
@@ -37,7 +37,7 @@ TurnBasedMatchesResourceApi get turnBasedMatches => new TurnBasedMatchesResourceApi(_requester); GamesManagementApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/games/v1management/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "games/v1management/"); }
diff --git a/generated/googleapis/lib/gmail/v1.dart b/generated/googleapis/lib/gmail/v1.dart index b2a4a70..b9dee7f 100644 --- a/generated/googleapis/lib/gmail/v1.dart +++ b/generated/googleapis/lib/gmail/v1.dart
@@ -33,7 +33,7 @@ UsersResourceApi get users => new UsersResourceApi(_requester); GmailApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/gmail/v1/users/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "gmail/v1/users/"); }
diff --git a/generated/googleapis/lib/groupsmigration/v1.dart b/generated/googleapis/lib/groupsmigration/v1.dart index 6d92a33..3ba1d1c 100644 --- a/generated/googleapis/lib/groupsmigration/v1.dart +++ b/generated/googleapis/lib/groupsmigration/v1.dart
@@ -21,7 +21,7 @@ ArchiveResourceApi get archive => new ArchiveResourceApi(_requester); GroupsmigrationApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/groups/v1/groups/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "groups/v1/groups/"); }
diff --git a/generated/googleapis/lib/groupssettings/v1.dart b/generated/googleapis/lib/groupssettings/v1.dart index 1715dfa..a54d095 100644 --- a/generated/googleapis/lib/groupssettings/v1.dart +++ b/generated/googleapis/lib/groupssettings/v1.dart
@@ -24,7 +24,7 @@ GroupsResourceApi get groups => new GroupsResourceApi(_requester); GroupssettingsApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/groups/v1/groups/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "groups/v1/groups/"); }
diff --git a/generated/googleapis/lib/identitytoolkit/v3.dart b/generated/googleapis/lib/identitytoolkit/v3.dart index f132eef..caca776 100644 --- a/generated/googleapis/lib/identitytoolkit/v3.dart +++ b/generated/googleapis/lib/identitytoolkit/v3.dart
@@ -21,7 +21,7 @@ RelyingpartyResourceApi get relyingparty => new RelyingpartyResourceApi(_requester); IdentitytoolkitApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/identitytoolkit/v3/relyingparty/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "identitytoolkit/v3/relyingparty/"); } @@ -268,7 +268,7 @@ } /** - * Set account info for a user. + * Reset password for a user. * * [request] - The metadata request object. * @@ -476,6 +476,9 @@ /** The URI used by the IDP to authenticate the user. */ core.String authUri; + /** True if captcha is required. */ + core.bool captchaRequired; + /** True if the authUri is for user's existing provider. */ core.bool forExistingProvider; @@ -495,6 +498,9 @@ if (_json.containsKey("authUri")) { authUri = _json["authUri"]; } + if (_json.containsKey("captchaRequired")) { + captchaRequired = _json["captchaRequired"]; + } if (_json.containsKey("forExistingProvider")) { forExistingProvider = _json["forExistingProvider"]; } @@ -514,6 +520,9 @@ if (authUri != null) { _json["authUri"] = authUri; } + if (captchaRequired != null) { + _json["captchaRequired"] = captchaRequired; + } if (forExistingProvider != null) { _json["forExistingProvider"] = forExistingProvider; }
diff --git a/generated/googleapis/lib/licensing/v1.dart b/generated/googleapis/lib/licensing/v1.dart index b01acc5..8ba9d49 100644 --- a/generated/googleapis/lib/licensing/v1.dart +++ b/generated/googleapis/lib/licensing/v1.dart
@@ -21,7 +21,7 @@ LicenseAssignmentsResourceApi get licenseAssignments => new LicenseAssignmentsResourceApi(_requester); LicensingApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/apps/licensing/v1/product/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "apps/licensing/v1/product/"); }
diff --git a/generated/googleapis/lib/mapsengine/v1.dart b/generated/googleapis/lib/mapsengine/v1.dart index 32cb97b..4e4775d 100644 --- a/generated/googleapis/lib/mapsengine/v1.dart +++ b/generated/googleapis/lib/mapsengine/v1.dart
@@ -36,7 +36,7 @@ TablesResourceApi get tables => new TablesResourceApi(_requester); MapsengineApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/mapsengine/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "mapsengine/v1/"); } @@ -45,6 +45,7 @@ final common_internal.ApiRequester _requester; AssetsParentsResourceApi get parents => new AssetsParentsResourceApi(_requester); + AssetsPermissionsResourceApi get permissions => new AssetsPermissionsResourceApi(_requester); AssetsResourceApi(common_internal.ApiRequester client) : _requester = client; @@ -281,10 +282,61 @@ /** Not documented yet. */ +class AssetsPermissionsResourceApi { + final common_internal.ApiRequester _requester; + + AssetsPermissionsResourceApi(common_internal.ApiRequester client) : + _requester = client; + + /** + * Return all of the permissions for the specified asset. + * + * Request parameters: + * + * [id] - The ID of the asset whose permissions will be listed. + * + * Completes with a [PermissionsListResponse]. + * + * 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<PermissionsListResponse> list(core.String id) { + var _url = null; + var _queryParams = new core.Map(); + var _uploadMedia = null; + var _uploadOptions = null; + var _downloadOptions = common.DownloadOptions.Metadata; + var _body = null; + + if (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'assets/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions'; + + var _response = _requester.request(_url, + "GET", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsListResponse.fromJson(data)); + } + +} + + +/** Not documented yet. */ class LayersResourceApi { final common_internal.ApiRequester _requester; LayersParentsResourceApi get parents => new LayersParentsResourceApi(_requester); + LayersPermissionsResourceApi get permissions => new LayersPermissionsResourceApi(_requester); LayersResourceApi(common_internal.ApiRequester client) : _requester = client; @@ -423,7 +475,10 @@ * * [id] - The ID of the layer. * - * [version] - null + * [version] - Deprecated: The version parameter indicates which version of + * the layer should be returned. When version is set to published, the + * published version of the layer will be returned. Please use the + * layers.getPublished endpoint instead. * Possible string values are: * - "draft" : The draft version. * - "published" : The published version. @@ -927,9 +982,154 @@ /** Not documented yet. */ +class LayersPermissionsResourceApi { + final common_internal.ApiRequester _requester; + + LayersPermissionsResourceApi(common_internal.ApiRequester client) : + _requester = client; + + /** + * Remove permission entries from an already existing asset. + * + * [request] - The metadata request object. + * + * Request parameters: + * + * [id] - The ID of the asset from which permissions will be removed. + * + * Completes with a [PermissionsBatchDeleteResponse]. + * + * 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<PermissionsBatchDeleteResponse> batchDelete(PermissionsBatchDeleteRequest request, core.String id) { + 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 (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'layers/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchDelete'; + + var _response = _requester.request(_url, + "POST", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsBatchDeleteResponse.fromJson(data)); + } + + /** + * Add or update permission entries to an already existing asset. + * + * An asset can hold up to 20 different permission entries. Each batchInsert + * request is atomic. + * + * [request] - The metadata request object. + * + * Request parameters: + * + * [id] - The ID of the asset to which permissions will be added. + * + * Completes with a [PermissionsBatchUpdateResponse]. + * + * 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<PermissionsBatchUpdateResponse> batchUpdate(PermissionsBatchUpdateRequest request, core.String id) { + 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 (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'layers/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchUpdate'; + + var _response = _requester.request(_url, + "POST", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsBatchUpdateResponse.fromJson(data)); + } + + /** + * Return all of the permissions for the specified asset. + * + * Request parameters: + * + * [id] - The ID of the asset whose permissions will be listed. + * + * Completes with a [PermissionsListResponse]. + * + * 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<PermissionsListResponse> list(core.String id) { + var _url = null; + var _queryParams = new core.Map(); + var _uploadMedia = null; + var _uploadOptions = null; + var _downloadOptions = common.DownloadOptions.Metadata; + var _body = null; + + if (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'layers/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions'; + + var _response = _requester.request(_url, + "GET", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsListResponse.fromJson(data)); + } + +} + + +/** Not documented yet. */ class MapsResourceApi { final common_internal.ApiRequester _requester; + MapsPermissionsResourceApi get permissions => new MapsPermissionsResourceApi(_requester); + MapsResourceApi(common_internal.ApiRequester client) : _requester = client; @@ -1021,7 +1221,10 @@ * * [id] - The ID of the map. * - * [version] - null + * [version] - Deprecated: The version parameter indicates which version of + * the map should be returned. When version is set to published, the published + * version of the map will be returned. Please use the maps.getPublished + * endpoint instead. * Possible string values are: * - "draft" : The draft version. * - "published" : The published version. @@ -1421,6 +1624,149 @@ /** Not documented yet. */ +class MapsPermissionsResourceApi { + final common_internal.ApiRequester _requester; + + MapsPermissionsResourceApi(common_internal.ApiRequester client) : + _requester = client; + + /** + * Remove permission entries from an already existing asset. + * + * [request] - The metadata request object. + * + * Request parameters: + * + * [id] - The ID of the asset from which permissions will be removed. + * + * Completes with a [PermissionsBatchDeleteResponse]. + * + * 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<PermissionsBatchDeleteResponse> batchDelete(PermissionsBatchDeleteRequest request, core.String id) { + 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 (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'maps/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchDelete'; + + var _response = _requester.request(_url, + "POST", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsBatchDeleteResponse.fromJson(data)); + } + + /** + * Add or update permission entries to an already existing asset. + * + * An asset can hold up to 20 different permission entries. Each batchInsert + * request is atomic. + * + * [request] - The metadata request object. + * + * Request parameters: + * + * [id] - The ID of the asset to which permissions will be added. + * + * Completes with a [PermissionsBatchUpdateResponse]. + * + * 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<PermissionsBatchUpdateResponse> batchUpdate(PermissionsBatchUpdateRequest request, core.String id) { + 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 (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'maps/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchUpdate'; + + var _response = _requester.request(_url, + "POST", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsBatchUpdateResponse.fromJson(data)); + } + + /** + * Return all of the permissions for the specified asset. + * + * Request parameters: + * + * [id] - The ID of the asset whose permissions will be listed. + * + * Completes with a [PermissionsListResponse]. + * + * 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<PermissionsListResponse> list(core.String id) { + var _url = null; + var _queryParams = new core.Map(); + var _uploadMedia = null; + var _uploadOptions = null; + var _downloadOptions = common.DownloadOptions.Metadata; + var _body = null; + + if (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'maps/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions'; + + var _response = _requester.request(_url, + "GET", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsListResponse.fromJson(data)); + } + +} + + +/** Not documented yet. */ class ProjectsResourceApi { final common_internal.ApiRequester _requester; @@ -1653,6 +1999,7 @@ final common_internal.ApiRequester _requester; RasterCollectionsParentsResourceApi get parents => new RasterCollectionsParentsResourceApi(_requester); + RasterCollectionsPermissionsResourceApi get permissions => new RasterCollectionsPermissionsResourceApi(_requester); RasterCollectionsRastersResourceApi get rasters => new RasterCollectionsRastersResourceApi(_requester); RasterCollectionsResourceApi(common_internal.ApiRequester client) : @@ -2100,6 +2447,149 @@ /** Not documented yet. */ +class RasterCollectionsPermissionsResourceApi { + final common_internal.ApiRequester _requester; + + RasterCollectionsPermissionsResourceApi(common_internal.ApiRequester client) : + _requester = client; + + /** + * Remove permission entries from an already existing asset. + * + * [request] - The metadata request object. + * + * Request parameters: + * + * [id] - The ID of the asset from which permissions will be removed. + * + * Completes with a [PermissionsBatchDeleteResponse]. + * + * 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<PermissionsBatchDeleteResponse> batchDelete(PermissionsBatchDeleteRequest request, core.String id) { + 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 (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'rasterCollections/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchDelete'; + + var _response = _requester.request(_url, + "POST", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsBatchDeleteResponse.fromJson(data)); + } + + /** + * Add or update permission entries to an already existing asset. + * + * An asset can hold up to 20 different permission entries. Each batchInsert + * request is atomic. + * + * [request] - The metadata request object. + * + * Request parameters: + * + * [id] - The ID of the asset to which permissions will be added. + * + * Completes with a [PermissionsBatchUpdateResponse]. + * + * 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<PermissionsBatchUpdateResponse> batchUpdate(PermissionsBatchUpdateRequest request, core.String id) { + 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 (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'rasterCollections/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchUpdate'; + + var _response = _requester.request(_url, + "POST", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsBatchUpdateResponse.fromJson(data)); + } + + /** + * Return all of the permissions for the specified asset. + * + * Request parameters: + * + * [id] - The ID of the asset whose permissions will be listed. + * + * Completes with a [PermissionsListResponse]. + * + * 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<PermissionsListResponse> list(core.String id) { + var _url = null; + var _queryParams = new core.Map(); + var _uploadMedia = null; + var _uploadOptions = null; + var _downloadOptions = common.DownloadOptions.Metadata; + var _body = null; + + if (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'rasterCollections/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions'; + + var _response = _requester.request(_url, + "GET", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsListResponse.fromJson(data)); + } + +} + + +/** Not documented yet. */ class RasterCollectionsRastersResourceApi { final common_internal.ApiRequester _requester; @@ -2327,6 +2817,7 @@ RastersFilesResourceApi get files => new RastersFilesResourceApi(_requester); RastersParentsResourceApi get parents => new RastersParentsResourceApi(_requester); + RastersPermissionsResourceApi get permissions => new RastersPermissionsResourceApi(_requester); RastersResourceApi(common_internal.ApiRequester client) : _requester = client; @@ -2802,12 +3293,156 @@ /** Not documented yet. */ +class RastersPermissionsResourceApi { + final common_internal.ApiRequester _requester; + + RastersPermissionsResourceApi(common_internal.ApiRequester client) : + _requester = client; + + /** + * Remove permission entries from an already existing asset. + * + * [request] - The metadata request object. + * + * Request parameters: + * + * [id] - The ID of the asset from which permissions will be removed. + * + * Completes with a [PermissionsBatchDeleteResponse]. + * + * 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<PermissionsBatchDeleteResponse> batchDelete(PermissionsBatchDeleteRequest request, core.String id) { + 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 (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'rasters/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchDelete'; + + var _response = _requester.request(_url, + "POST", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsBatchDeleteResponse.fromJson(data)); + } + + /** + * Add or update permission entries to an already existing asset. + * + * An asset can hold up to 20 different permission entries. Each batchInsert + * request is atomic. + * + * [request] - The metadata request object. + * + * Request parameters: + * + * [id] - The ID of the asset to which permissions will be added. + * + * Completes with a [PermissionsBatchUpdateResponse]. + * + * 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<PermissionsBatchUpdateResponse> batchUpdate(PermissionsBatchUpdateRequest request, core.String id) { + 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 (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'rasters/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchUpdate'; + + var _response = _requester.request(_url, + "POST", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsBatchUpdateResponse.fromJson(data)); + } + + /** + * Return all of the permissions for the specified asset. + * + * Request parameters: + * + * [id] - The ID of the asset whose permissions will be listed. + * + * Completes with a [PermissionsListResponse]. + * + * 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<PermissionsListResponse> list(core.String id) { + var _url = null; + var _queryParams = new core.Map(); + var _uploadMedia = null; + var _uploadOptions = null; + var _downloadOptions = common.DownloadOptions.Metadata; + var _body = null; + + if (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'rasters/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions'; + + var _response = _requester.request(_url, + "GET", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsListResponse.fromJson(data)); + } + +} + + +/** Not documented yet. */ class TablesResourceApi { final common_internal.ApiRequester _requester; TablesFeaturesResourceApi get features => new TablesFeaturesResourceApi(_requester); TablesFilesResourceApi get files => new TablesFilesResourceApi(_requester); TablesParentsResourceApi get parents => new TablesParentsResourceApi(_requester); + TablesPermissionsResourceApi get permissions => new TablesPermissionsResourceApi(_requester); TablesResourceApi(common_internal.ApiRequester client) : _requester = client; @@ -3666,6 +4301,149 @@ } +/** Not documented yet. */ +class TablesPermissionsResourceApi { + final common_internal.ApiRequester _requester; + + TablesPermissionsResourceApi(common_internal.ApiRequester client) : + _requester = client; + + /** + * Remove permission entries from an already existing asset. + * + * [request] - The metadata request object. + * + * Request parameters: + * + * [id] - The ID of the asset from which permissions will be removed. + * + * Completes with a [PermissionsBatchDeleteResponse]. + * + * 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<PermissionsBatchDeleteResponse> batchDelete(PermissionsBatchDeleteRequest request, core.String id) { + 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 (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'tables/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchDelete'; + + var _response = _requester.request(_url, + "POST", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsBatchDeleteResponse.fromJson(data)); + } + + /** + * Add or update permission entries to an already existing asset. + * + * An asset can hold up to 20 different permission entries. Each batchInsert + * request is atomic. + * + * [request] - The metadata request object. + * + * Request parameters: + * + * [id] - The ID of the asset to which permissions will be added. + * + * Completes with a [PermissionsBatchUpdateResponse]. + * + * 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<PermissionsBatchUpdateResponse> batchUpdate(PermissionsBatchUpdateRequest request, core.String id) { + 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 (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'tables/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions/batchUpdate'; + + var _response = _requester.request(_url, + "POST", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsBatchUpdateResponse.fromJson(data)); + } + + /** + * Return all of the permissions for the specified asset. + * + * Request parameters: + * + * [id] - The ID of the asset whose permissions will be listed. + * + * Completes with a [PermissionsListResponse]. + * + * 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<PermissionsListResponse> list(core.String id) { + var _url = null; + var _queryParams = new core.Map(); + var _uploadMedia = null; + var _uploadOptions = null; + var _downloadOptions = common.DownloadOptions.Metadata; + var _body = null; + + if (id == null) { + throw new core.ArgumentError("Parameter id is required."); + } + + + _url = 'tables/' + common_internal.Escaper.ecapeVariable('$id') + '/permissions'; + + var _response = _requester.request(_url, + "GET", + body: _body, + queryParams: _queryParams, + uploadOptions: _uploadOptions, + uploadMedia: _uploadMedia, + downloadOptions: _downloadOptions); + return _response.then((data) => new PermissionsListResponse.fromJson(data)); + } + +} + + /** Acquisition time represents acquired time of a raster. */ class AcquisitionTime { @@ -3735,7 +4513,8 @@ class Asset { /** * A rectangular bounding box which contains all of the data in this asset. - * The numbers represent latitude and longitude in decimal degrees. + * The box is expressed as \"west, south, east, north\". The numbers represent + * latitude and longitude in decimal degrees. */ core.List<core.double> bbox; @@ -3745,6 +4524,12 @@ */ core.DateTime creationTime; + /** + * The email address of the creator of this asset. This is only returned on + * GET requests and not LIST requests. + */ + core.String creatorEmail; + /** The asset's description. */ core.String description; @@ -3760,6 +4545,12 @@ */ core.DateTime lastModifiedTime; + /** + * The email address of the last modifier of this asset. This is only returned + * on GET requests and not LIST requests. + */ + core.String lastModifierEmail; + /** The asset's name. */ core.String name; @@ -3790,6 +4581,9 @@ */ core.String type; + /** If true, WRITERs of the asset are able to edit the asset permissions. */ + core.bool writersCanEditPermissions; + Asset(); @@ -3800,6 +4594,9 @@ if (_json.containsKey("creationTime")) { creationTime = core.DateTime.parse(_json["creationTime"]); } + if (_json.containsKey("creatorEmail")) { + creatorEmail = _json["creatorEmail"]; + } if (_json.containsKey("description")) { description = _json["description"]; } @@ -3812,6 +4609,9 @@ if (_json.containsKey("lastModifiedTime")) { lastModifiedTime = core.DateTime.parse(_json["lastModifiedTime"]); } + if (_json.containsKey("lastModifierEmail")) { + lastModifierEmail = _json["lastModifierEmail"]; + } if (_json.containsKey("name")) { name = _json["name"]; } @@ -3827,6 +4627,9 @@ if (_json.containsKey("type")) { type = _json["type"]; } + if (_json.containsKey("writersCanEditPermissions")) { + writersCanEditPermissions = _json["writersCanEditPermissions"]; + } } core.Map toJson() { @@ -3837,6 +4640,9 @@ if (creationTime != null) { _json["creationTime"] = (creationTime).toIso8601String(); } + if (creatorEmail != null) { + _json["creatorEmail"] = creatorEmail; + } if (description != null) { _json["description"] = description; } @@ -3849,6 +4655,9 @@ if (lastModifiedTime != null) { _json["lastModifiedTime"] = (lastModifiedTime).toIso8601String(); } + if (lastModifierEmail != null) { + _json["lastModifierEmail"] = lastModifierEmail; + } if (name != null) { _json["name"] = name; } @@ -3864,6 +4673,9 @@ if (type != null) { _json["type"] = type; } + if (writersCanEditPermissions != null) { + _json["writersCanEditPermissions"] = writersCanEditPermissions; + } return _json; } } @@ -4222,7 +5034,7 @@ /** * If true, the server will normalize feature geometries. It is assumed that * the South Pole is exterior to any polygons given. See here for a list of - * normalizations. If false, the all feature geometries must be given already + * normalizations. If false, all feature geometries must be given already * normalized. The points in all LinearRings must be listed in * counter-clockwise order, and LinearRings may not intersect. */ @@ -4261,7 +5073,7 @@ /** * If true, the server will normalize feature geometries. It is assumed that * the South Pole is exterior to any polygons given. See here for a list of - * normalizations. If false, the all feature geometries must be given already + * normalizations. If false, all feature geometries must be given already * normalized. The points in all LinearRings must be listed in * counter-clockwise order, and LinearRings may not intersect. */ @@ -4707,11 +5519,11 @@ /** Not documented yet. */ class GeoJsonPolygon extends GeoJsonGeometry { /** - * An array of LinearRings, each of which is an array of four or more - * GeoJsonPositions. The first and last coordinates in each LinearRing must be - * the same. For polygons with multiple rings, the first LinearRing is the - * external ring, with subsequent rings being interior rings (i.e. hole). All - * LinearRings must contain GeoJsonPositions in counter-clockwise order. + * An array of LinearRings. A LinearRing is a GeoJsonLineString which is + * closed (that is, the first and last GeoJsonPositions are equal), and which + * contains at least four GeoJsonPositions. For polygons with multiple rings, + * the first LinearRing is the exterior ring, and any subsequent rings are + * interior rings (that is, holes). */ core.List<core.List<GeoJsonPosition>> coordinates; @@ -5082,7 +5894,8 @@ class Layer { /** * A rectangular bounding box which contains all of the data in this Layer. - * The numbers represent latitude and longitude in decimal degrees. + * The box is expressed as \"west, south, east, north\". The numbers represent + * latitude and longitude in decimal degrees. */ core.List<core.double> bbox; @@ -5093,6 +5906,12 @@ core.DateTime creationTime; /** + * The email address of the creator of this layer. This is only returned on + * GET requests and not LIST requests. + */ + core.String creatorEmail; + + /** * Deprecated: The type of the datasources used to build this Layer. Note: * This has been replaced by layerType, but is still available for now to * maintain backward compatibility. @@ -5103,7 +5922,7 @@ core.String datasourceType; /** - * An array of datasources used to build this Layer. If layerType is "image", + * An array of datasources used to build this layer. If layerType is "image", * or layerType is not specified and datasourceType is "image", then each * element in this array is a reference to an Image or RasterCollection. If * layerType is "vector", or layerType is not specified and datasourceType is @@ -5117,17 +5936,13 @@ /** * Deprecated: The name of an access list of the Map Editor type. The user on * whose behalf the request is being sent must be an editor on that access - * list. Note: Google Maps Engine no longer uses access lists. For backward - * compatibility, the API still accepts access lists for projects that are - * already using access lists. If you created a GME account/project after July - * 14th, 2014, you will not be able to send API requests that include access - * lists. The API does not yet support the new permissions model. When you - * create a map via the API without specifying permissions, the account that - * created the map is the owner and has effective administrator access. Users - * can then use the Maps Engine user interface to adjust the permissions. This - * is a temporary workaround until the API supports the new permissions model. - * Read Add new users and groups in the Google Maps Engine help center for - * more information. + * list. Note: Google Maps Engine no longer uses access lists. Instead, each + * asset has its own list of permissions. For backward compatibility, the API + * still accepts access lists for projects that are already using access + * lists. If you created a GME account/project after July 14th, 2014, you will + * not be able to send API requests that include access lists. Note: This is + * an input field only. It is not returned in response to a list or get + * request. */ core.String draftAccessList; @@ -5144,6 +5959,12 @@ core.DateTime lastModifiedTime; /** + * The email address of the last modifier of this layer. This is only returned + * on GET requests and not LIST requests. + */ + core.String lastModifierEmail; + + /** * The type of the datasources used to build this Layer. This should be used * instead of datasourceType. At least one of layerType and datasourceType and * must be specified, but layerType takes precedence. @@ -5173,8 +5994,13 @@ /** * Deprecated: The access list to whom view permissions are granted. The value * must be the name of a Maps Engine access list of the Map Viewer type, and - * the user must be a viewer on that list. Read Share data, layers, and maps - * in the Google Maps Engine help center for more information. + * the user must be a viewer on that list. Note: Google Maps Engine no longer + * uses access lists. Instead, each asset has its own list of permissions. For + * backward compatibility, the API still accepts access lists for projects + * that are already using access lists. If you created a GME account/project + * after July 14th, 2014, you will not be able to send API requests that + * include access lists. Note: This is an input field only. It is not returned + * in response to a list or get request. */ core.String publishedAccessList; @@ -5186,12 +6012,20 @@ */ core.String publishingStatus; - /** The Styling information for a vector layer. */ + /** + * The styling information for a vector layer. Note: Style information is + * returned in response to a get request but not a list request. After + * requesting a list of layers, you'll need to send a get request to retrieve + * the VectorStyles for each layer. + */ VectorStyle style; /** Tags of this Layer. */ Tags tags; + /** If true, WRITERs of the asset are able to edit the asset permissions. */ + core.bool writersCanEditPermissions; + Layer(); @@ -5202,6 +6036,9 @@ if (_json.containsKey("creationTime")) { creationTime = core.DateTime.parse(_json["creationTime"]); } + if (_json.containsKey("creatorEmail")) { + creatorEmail = _json["creatorEmail"]; + } if (_json.containsKey("datasourceType")) { datasourceType = _json["datasourceType"]; } @@ -5223,6 +6060,9 @@ if (_json.containsKey("lastModifiedTime")) { lastModifiedTime = core.DateTime.parse(_json["lastModifiedTime"]); } + if (_json.containsKey("lastModifierEmail")) { + lastModifierEmail = _json["lastModifierEmail"]; + } if (_json.containsKey("layerType")) { layerType = _json["layerType"]; } @@ -5247,6 +6087,9 @@ if (_json.containsKey("tags")) { tags = new Tags.fromJson(_json["tags"]); } + if (_json.containsKey("writersCanEditPermissions")) { + writersCanEditPermissions = _json["writersCanEditPermissions"]; + } } core.Map toJson() { @@ -5257,6 +6100,9 @@ if (creationTime != null) { _json["creationTime"] = (creationTime).toIso8601String(); } + if (creatorEmail != null) { + _json["creatorEmail"] = creatorEmail; + } if (datasourceType != null) { _json["datasourceType"] = datasourceType; } @@ -5278,6 +6124,9 @@ if (lastModifiedTime != null) { _json["lastModifiedTime"] = (lastModifiedTime).toIso8601String(); } + if (lastModifierEmail != null) { + _json["lastModifierEmail"] = lastModifierEmail; + } if (layerType != null) { _json["layerType"] = layerType; } @@ -5302,12 +6151,20 @@ if (tags != null) { _json["tags"] = tags; } + if (writersCanEditPermissions != null) { + _json["writersCanEditPermissions"] = writersCanEditPermissions; + } return _json; } } -/** The response returned by a call to layers.List. */ +/** + * The response returned by a call to layers.List. Note: The list response does + * not include all the fields available in a layer. Refer to the layer resource + * description for details of the fields that are not included. You'll need to + * send a get request to retrieve the additional fields for each layer. + */ class LayersListResponse { /** Resources returned. */ core.List<Layer> layers; @@ -5453,7 +6310,8 @@ class Map { /** * A rectangular bounding box which contains all of the data in this Map. The - * numbers represent latitude and longitude in decimal degrees. + * box is expressed as \"west, south, east, north\". The numbers represent + * latitude and longitude in decimal degrees. */ core.List<core.double> bbox; @@ -5467,6 +6325,12 @@ core.DateTime creationTime; /** + * The email address of the creator of this map. This is only returned on GET + * requests and not LIST requests. + */ + core.String creatorEmail; + + /** * An array of four numbers (west, south, east, north) which defines the * rectangular bounding box of the default viewport. The numbers represent * latitude and longitude in decimal degrees. @@ -5479,17 +6343,13 @@ /** * Deprecated: The name of an access list of the Map Editor type. The user on * whose behalf the request is being sent must be an editor on that access - * list. Note: Google Maps Engine no longer uses access lists. For backward - * compatibility, the API still accepts access lists for projects that are - * already using access lists. If you created a GME account/project after July - * 14th, 2014, you will not be able to send API requests that include access - * lists. The API does not yet support the new permissions model. When you - * create a map via the API without specifying permissions, the account that - * created the map is the owner and has effective administrator access. Users - * can then use the Maps Engine user interface to adjust the permissions. This - * is a temporary workaround until the API supports the new permissions model. - * Read Add new users and groups in the Google Maps Engine help center for - * more information. + * list. Note: Google Maps Engine no longer uses access lists. Instead, each + * asset has its own list of permissions. For backward compatibility, the API + * still accepts access lists for projects that are already using access + * lists. If you created a GME account/project after July 14th, 2014, you will + * not be able to send API requests that include access lists. Note: This is + * an input field only. It is not returned in response to a list or get + * request. */ core.String draftAccessList; @@ -5505,6 +6365,12 @@ */ core.DateTime lastModifiedTime; + /** + * The email address of the last modifier of this map. This is only returned + * on GET requests and not LIST requests. + */ + core.String lastModifierEmail; + /** The name of this Map, supplied by the author. */ core.String name; @@ -5526,8 +6392,13 @@ /** * Deprecated: The access list to whom view permissions are granted. The value * must be the name of a Maps Engine access list of the Map Viewer type, and - * the user must be a viewer on that list. Read Share data, layers, and maps - * in the Google Maps Engine help center for more information. + * the user must be a viewer on that list. Note: Google Maps Engine no longer + * uses access lists. Instead, each asset has its own list of permissions. For + * backward compatibility, the API still accepts access lists for projects + * that are already using access lists. If you created a GME account/project + * after July 14th, 2014, you will not be able to send API requests that + * include access lists. This is an input field only. It is not returned in + * response to a list or get request. */ core.String publishedAccessList; @@ -5549,6 +6420,9 @@ */ core.List<core.String> versions; + /** If true, WRITERs of the asset are able to edit the asset permissions. */ + core.bool writersCanEditPermissions; + Map(); @@ -5562,6 +6436,9 @@ if (_json.containsKey("creationTime")) { creationTime = core.DateTime.parse(_json["creationTime"]); } + if (_json.containsKey("creatorEmail")) { + creatorEmail = _json["creatorEmail"]; + } if (_json.containsKey("defaultViewport")) { defaultViewport = new LatLngBox.fromJson(_json["defaultViewport"]); } @@ -5580,6 +6457,9 @@ if (_json.containsKey("lastModifiedTime")) { lastModifiedTime = core.DateTime.parse(_json["lastModifiedTime"]); } + if (_json.containsKey("lastModifierEmail")) { + lastModifierEmail = _json["lastModifierEmail"]; + } if (_json.containsKey("name")) { name = _json["name"]; } @@ -5601,6 +6481,9 @@ if (_json.containsKey("versions")) { versions = _json["versions"]; } + if (_json.containsKey("writersCanEditPermissions")) { + writersCanEditPermissions = _json["writersCanEditPermissions"]; + } } core.Map toJson() { @@ -5614,6 +6497,9 @@ if (creationTime != null) { _json["creationTime"] = (creationTime).toIso8601String(); } + if (creatorEmail != null) { + _json["creatorEmail"] = creatorEmail; + } if (defaultViewport != null) { _json["defaultViewport"] = defaultViewport; } @@ -5632,6 +6518,9 @@ if (lastModifiedTime != null) { _json["lastModifiedTime"] = (lastModifiedTime).toIso8601String(); } + if (lastModifierEmail != null) { + _json["lastModifierEmail"] = lastModifierEmail; + } if (name != null) { _json["name"] = name; } @@ -5653,6 +6542,9 @@ if (versions != null) { _json["versions"] = versions; } + if (writersCanEditPermissions != null) { + _json["writersCanEditPermissions"] = writersCanEditPermissions; + } return _json; } } @@ -6043,6 +6935,187 @@ } +/** + * A permission defines the user or group that has access to an asset, and the + * type of access they have. + */ +class Permission { + /** + * Indicates whether a public asset is listed and can be found via a web + * search (value true), or is visible only to people who have a link to the + * asset (value false). + */ + core.bool discoverable; + + /** + * The unique identifier of the permission. This could be the email address of + * the user or group this permission refers to, or the string "anyone" for + * public permissions. + */ + core.String id; + + /** + * The type of access granted to this user or group. + * Possible string values are: + * - "owner" + * - "reader" + * - "viewer" + * - "writer" + */ + core.String role; + + /** + * The account type. + * Possible string values are: + * - "anyone" + * - "group" + * - "user" + */ + core.String type; + + + Permission(); + + Permission.fromJson(core.Map _json) { + if (_json.containsKey("discoverable")) { + discoverable = _json["discoverable"]; + } + if (_json.containsKey("id")) { + id = _json["id"]; + } + if (_json.containsKey("role")) { + role = _json["role"]; + } + if (_json.containsKey("type")) { + type = _json["type"]; + } + } + + core.Map toJson() { + var _json = new core.Map(); + if (discoverable != null) { + _json["discoverable"] = discoverable; + } + if (id != null) { + _json["id"] = id; + } + if (role != null) { + _json["role"] = role; + } + if (type != null) { + _json["type"] = type; + } + return _json; + } +} + + +/** The request sent to mapsengine.permissions.batchDelete. */ +class PermissionsBatchDeleteRequest { + /** + * An array of permission ids to be removed. This could be the email address + * of the user or group this permission refers to, or the string "anyone" for + * public permissions. + */ + core.List<core.String> ids; + + + PermissionsBatchDeleteRequest(); + + PermissionsBatchDeleteRequest.fromJson(core.Map _json) { + if (_json.containsKey("ids")) { + ids = _json["ids"]; + } + } + + core.Map toJson() { + var _json = new core.Map(); + if (ids != null) { + _json["ids"] = ids; + } + return _json; + } +} + + +/** The response returned by a call to mapsengine.permissions.batchDelete. */ +class PermissionsBatchDeleteResponse { + + PermissionsBatchDeleteResponse(); + + PermissionsBatchDeleteResponse.fromJson(core.Map _json) { + } + + core.Map toJson() { + var _json = new core.Map(); + return _json; + } +} + + +/** The request sent to mapsengine.permissions.batchUpdate. */ +class PermissionsBatchUpdateRequest { + /** The permissions to be inserted or updated. */ + core.List<Permission> permissions; + + + PermissionsBatchUpdateRequest(); + + PermissionsBatchUpdateRequest.fromJson(core.Map _json) { + if (_json.containsKey("permissions")) { + permissions = _json["permissions"].map((value) => new Permission.fromJson(value)).toList(); + } + } + + core.Map toJson() { + var _json = new core.Map(); + if (permissions != null) { + _json["permissions"] = permissions.map((value) => (value).toJson()).toList(); + } + return _json; + } +} + + +/** The response returned by a call to mapsengine.permissions.batchUpdate. */ +class PermissionsBatchUpdateResponse { + + PermissionsBatchUpdateResponse(); + + PermissionsBatchUpdateResponse.fromJson(core.Map _json) { + } + + core.Map toJson() { + var _json = new core.Map(); + return _json; + } +} + + +/** Not documented yet. */ +class PermissionsListResponse { + /** The set of permissions associated with this asset. */ + core.List<Permission> permissions; + + + PermissionsListResponse(); + + PermissionsListResponse.fromJson(core.Map _json) { + if (_json.containsKey("permissions")) { + permissions = _json["permissions"].map((value) => new Permission.fromJson(value)).toList(); + } + } + + core.Map toJson() { + var _json = new core.Map(); + if (permissions != null) { + _json["permissions"] = permissions.map((value) => (value).toJson()).toList(); + } + return _json; + } +} + + /** Style for points. */ class PointStyle { /** @@ -6207,9 +7280,6 @@ /** The description of this Layer, supplied by the author. */ core.String description; - /** The ETag, used to refer to the current version of the asset. */ - core.String etag; - /** A globally unique ID, used to refer to this Layer. */ core.String id; @@ -6236,9 +7306,6 @@ if (_json.containsKey("description")) { description = _json["description"]; } - if (_json.containsKey("etag")) { - etag = _json["etag"]; - } if (_json.containsKey("id")) { id = _json["id"]; } @@ -6258,9 +7325,6 @@ if (description != null) { _json["description"] = description; } - if (etag != null) { - _json["etag"] = etag; - } if (id != null) { _json["id"] = id; } @@ -6334,9 +7398,6 @@ /** The description of this Map, supplied by the author. */ core.String description; - /** The ETag, used to refer to the current version of the asset. */ - core.String etag; - /** A globally unique ID, used to refer to this Map. */ core.String id; @@ -6359,9 +7420,6 @@ if (_json.containsKey("description")) { description = _json["description"]; } - if (_json.containsKey("etag")) { - etag = _json["etag"]; - } if (_json.containsKey("id")) { id = _json["id"]; } @@ -6384,9 +7442,6 @@ if (description != null) { _json["description"] = description; } - if (etag != null) { - _json["etag"] = etag; - } if (id != null) { _json["id"] = id; } @@ -6452,7 +7507,8 @@ /** * A rectangular bounding box which contains all of the data in this Raster. - * The numbers represent latitude and longitude in decimal degrees. + * The box is expressed as \"west, south, east, north\". The numbers represent + * latitudes and longitudes in decimal degrees. */ core.List<core.double> bbox; @@ -6462,23 +7518,25 @@ */ core.DateTime creationTime; + /** + * The email address of the creator of this raster. This is only returned on + * GET requests and not LIST requests. + */ + core.String creatorEmail; + /** The description of this Raster, supplied by the author. */ core.String description; /** * Deprecated: The name of an access list of the Map Editor type. The user on * whose behalf the request is being sent must be an editor on that access - * list. Note: Google Maps Engine no longer uses access lists. For backward - * compatibility, the API still accepts access lists for projects that are - * already using access lists. If you created a GME account/project after July - * 14th, 2014, you will not be able to send API requests that include access - * lists. The API does not yet support the new permissions model. When you - * create a map via the API without specifying permissions, the account that - * created the map is the owner and has effective administrator access. Users - * can then use the Maps Engine user interface to adjust the permissions. This - * is a temporary workaround until the API supports the new permissions model. - * Read Add new users and groups in the Google Maps Engine help center for - * more information. + * list. Note: Google Maps Engine no longer uses access lists. Instead, each + * asset has its own list of permissions. For backward compatibility, the API + * still accepts access lists for projects that are already using access + * lists. If you created a GME account/project after July 14th, 2014, you will + * not be able to send API requests that include access lists. Note: This is + * an input field only. It is not returned in response to a list or get + * request. */ core.String draftAccessList; @@ -6497,6 +7555,12 @@ */ core.DateTime lastModifiedTime; + /** + * The email address of the last modifier of this raster. This is only + * returned on GET requests and not LIST requests. + */ + core.String lastModifierEmail; + /** The mask processing type of this Raster. */ core.String maskType; @@ -6527,6 +7591,9 @@ /** Tags of this Raster. */ Tags tags; + /** If true, WRITERs of the asset are able to edit the asset permissions. */ + core.bool writersCanEditPermissions; + Raster(); @@ -6543,6 +7610,9 @@ if (_json.containsKey("creationTime")) { creationTime = core.DateTime.parse(_json["creationTime"]); } + if (_json.containsKey("creatorEmail")) { + creatorEmail = _json["creatorEmail"]; + } if (_json.containsKey("description")) { description = _json["description"]; } @@ -6561,6 +7631,9 @@ if (_json.containsKey("lastModifiedTime")) { lastModifiedTime = core.DateTime.parse(_json["lastModifiedTime"]); } + if (_json.containsKey("lastModifierEmail")) { + lastModifierEmail = _json["lastModifierEmail"]; + } if (_json.containsKey("maskType")) { maskType = _json["maskType"]; } @@ -6579,6 +7652,9 @@ if (_json.containsKey("tags")) { tags = new Tags.fromJson(_json["tags"]); } + if (_json.containsKey("writersCanEditPermissions")) { + writersCanEditPermissions = _json["writersCanEditPermissions"]; + } } core.Map toJson() { @@ -6595,6 +7671,9 @@ if (creationTime != null) { _json["creationTime"] = (creationTime).toIso8601String(); } + if (creatorEmail != null) { + _json["creatorEmail"] = creatorEmail; + } if (description != null) { _json["description"] = description; } @@ -6613,6 +7692,9 @@ if (lastModifiedTime != null) { _json["lastModifiedTime"] = (lastModifiedTime).toIso8601String(); } + if (lastModifierEmail != null) { + _json["lastModifierEmail"] = lastModifierEmail; + } if (maskType != null) { _json["maskType"] = maskType; } @@ -6631,6 +7713,9 @@ if (tags != null) { _json["tags"] = tags; } + if (writersCanEditPermissions != null) { + _json["writersCanEditPermissions"] = writersCanEditPermissions; + } return _json; } } @@ -6641,13 +7726,18 @@ * Layer. */ class RasterCollection { - /** The name of the attribution to be used for this RasterCollection. */ + /** + * The name of the attribution to be used for this RasterCollection. Note: + * Attribution is returned in response to a get request but not a list + * request. After requesting a list of raster collections, you'll need to send + * a get request to retrieve the attribution for each raster collection. + */ core.String attribution; /** * A rectangular bounding box which contains all of the data in this - * RasterCollection. The numbers represent latitude and longitude in decimal - * degrees. + * RasterCollection. The box is expressed as \"west, south, east, north\". The + * numbers represent latitude and longitude in decimal degrees. */ core.List<core.double> bbox; @@ -6657,23 +7747,25 @@ */ core.DateTime creationTime; + /** + * The email address of the creator of this raster collection. This is only + * returned on GET requests and not LIST requests. + */ + core.String creatorEmail; + /** The description of this RasterCollection, supplied by the author. */ core.String description; /** * Deprecated: The name of an access list of the Map Editor type. The user on * whose behalf the request is being sent must be an editor on that access - * list. Note: Google Maps Engine no longer uses access lists. For backward - * compatibility, the API still accepts access lists for projects that are - * already using access lists. If you created a GME account/project after July - * 14th, 2014, you will not be able to send API requests that include access - * lists. The API does not yet support the new permissions model. When you - * create a map via the API without specifying permissions, the account that - * created the map is the owner and has effective administrator access. Users - * can then use the Maps Engine user interface to adjust the permissions. This - * is a temporary workaround until the API supports the new permissions model. - * Read Add new users and groups in the Google Maps Engine help center for - * more information. + * list. Note: Google Maps Engine no longer uses access lists. Instead, each + * asset has its own list of permissions. For backward compatibility, the API + * still accepts access lists for projects that are already using access + * lists. If you created a GME account/project after July 14th, 2014, you will + * not be able to send API requests that include access lists. Note: This is + * an input field only. It is not returned in response to a list or get + * request. */ core.String draftAccessList; @@ -6689,6 +7781,12 @@ */ core.DateTime lastModifiedTime; + /** + * The email address of the last modifier of this raster collection. This is + * only returned on GET requests and not LIST requests. + */ + core.String lastModifierEmail; + /** True if this RasterCollection is a mosaic. */ core.bool mosaic; @@ -6719,6 +7817,9 @@ /** Tags of this RasterCollection. */ Tags tags; + /** If true, WRITERs of the asset are able to edit the asset permissions. */ + core.bool writersCanEditPermissions; + RasterCollection(); @@ -6732,6 +7833,9 @@ if (_json.containsKey("creationTime")) { creationTime = core.DateTime.parse(_json["creationTime"]); } + if (_json.containsKey("creatorEmail")) { + creatorEmail = _json["creatorEmail"]; + } if (_json.containsKey("description")) { description = _json["description"]; } @@ -6747,6 +7851,9 @@ if (_json.containsKey("lastModifiedTime")) { lastModifiedTime = core.DateTime.parse(_json["lastModifiedTime"]); } + if (_json.containsKey("lastModifierEmail")) { + lastModifierEmail = _json["lastModifierEmail"]; + } if (_json.containsKey("mosaic")) { mosaic = _json["mosaic"]; } @@ -6765,6 +7872,9 @@ if (_json.containsKey("tags")) { tags = new Tags.fromJson(_json["tags"]); } + if (_json.containsKey("writersCanEditPermissions")) { + writersCanEditPermissions = _json["writersCanEditPermissions"]; + } } core.Map toJson() { @@ -6778,6 +7888,9 @@ if (creationTime != null) { _json["creationTime"] = (creationTime).toIso8601String(); } + if (creatorEmail != null) { + _json["creatorEmail"] = creatorEmail; + } if (description != null) { _json["description"] = description; } @@ -6793,6 +7906,9 @@ if (lastModifiedTime != null) { _json["lastModifiedTime"] = (lastModifiedTime).toIso8601String(); } + if (lastModifierEmail != null) { + _json["lastModifierEmail"] = lastModifierEmail; + } if (mosaic != null) { _json["mosaic"] = mosaic; } @@ -6811,12 +7927,21 @@ if (tags != null) { _json["tags"] = tags; } + if (writersCanEditPermissions != null) { + _json["writersCanEditPermissions"] = writersCanEditPermissions; + } return _json; } } -/** The response returned by a call to raster_collections.List. */ +/** + * The response returned by a call to raster_collections.List. Note: The list + * response does not include all the fields available in a raster collection. + * Refer to the RasterCollection resource description for details of the fields + * that are not included. You'll need to send a get request to retrieve the + * additional fields for each raster collection. + */ class RasterCollectionsListResponse { /** Next page token. */ core.String nextPageToken; @@ -6861,7 +7986,8 @@ class RasterCollectionsRaster { /** * A rectangular bounding box which contains all of the data in this Raster. - * The numbers represent latitude and longitude in decimal degrees. + * The box is expressed as \"west, south, east, north\". The numbers represent + * latitudes and longitudes in decimal degrees. */ core.List<core.double> bbox; @@ -7316,8 +8442,9 @@ /** A collection of geographic features, and associated metadata. */ class Table { /** - * A rectangular bounding box which contains all of the data in this table. - * The numbers represent latitude and longitude in decimal degrees. + * A rectangular bounding box which contains all of the data in this Table. + * The box is expressed as \"west, south, east, north\". The numbers represent + * latitude and longitude in decimal degrees. */ core.List<core.double> bbox; @@ -7327,23 +8454,25 @@ */ core.DateTime creationTime; + /** + * The email address of the creator of this table. This is only returned on + * GET requests and not LIST requests. + */ + core.String creatorEmail; + /** The description of this table, supplied by the author. */ core.String description; /** * Deprecated: The name of an access list of the Map Editor type. The user on * whose behalf the request is being sent must be an editor on that access - * list. Note: Google Maps Engine no longer uses access lists. For backward - * compatibility, the API still accepts access lists for projects that are - * already using access lists. If you created a GME account/project after July - * 14th, 2014, you will not be able to send API requests that include access - * lists. The API does not yet support the new permissions model. When you - * create a map via the API without specifying permissions, the account that - * created the map is the owner and has effective administrator access. Users - * can then use the Maps Engine user interface to adjust the permissions. This - * is a temporary workaround until the API supports the new permissions model. - * Read Add new users and groups in the Google Maps Engine help center for - * more information. + * list. Note: Google Maps Engine no longer uses access lists. Instead, each + * asset has its own list of permissions. For backward compatibility, the API + * still accepts access lists for projects that are already using access + * lists. If you created a GME account/project after July 14th, 2014, you will + * not be able to send API requests that include access lists. Note: This is + * an input field only. It is not returned in response to a list or get + * request. */ core.String draftAccessList; @@ -7362,6 +8491,12 @@ */ core.DateTime lastModifiedTime; + /** + * The email address of the last modifier of this table. This is only returned + * on GET requests and not LIST requests. + */ + core.String lastModifierEmail; + /** The name of this table, supplied by the author. */ core.String name; @@ -7382,12 +8517,21 @@ /** * Deprecated: The access list to whom view permissions are granted. The value * must be the name of a Maps Engine access list of the Map Viewer type, and - * the user must be a viewer on that list. Read Share data, layers, and maps - * in the Google Maps Engine help center for more information. + * the user must be a viewer on that list. Note: Google Maps Engine no longer + * uses access lists. Instead, each asset has its own list of permissions. For + * backward compatibility, the API still accepts access lists for projects + * that are already using access lists. If you created a GME account/project + * after July 14th, 2014, you will not be able to send API requests that + * include access lists. Note: This is an input field only. It is not returned + * in response to a list or get request. */ core.String publishedAccessList; - /** The schema for this table. */ + /** + * The schema for this table. Note: The schema is returned in response to a + * get request but not a list request. After requesting a list of tables, + * you'll need to send a get request to retrieve the schema for each table. + */ Schema schema; /** @@ -7403,6 +8547,9 @@ */ Tags tags; + /** If true, WRITERs of the asset are able to edit the asset permissions. */ + core.bool writersCanEditPermissions; + Table(); @@ -7413,6 +8560,9 @@ if (_json.containsKey("creationTime")) { creationTime = core.DateTime.parse(_json["creationTime"]); } + if (_json.containsKey("creatorEmail")) { + creatorEmail = _json["creatorEmail"]; + } if (_json.containsKey("description")) { description = _json["description"]; } @@ -7431,6 +8581,9 @@ if (_json.containsKey("lastModifiedTime")) { lastModifiedTime = core.DateTime.parse(_json["lastModifiedTime"]); } + if (_json.containsKey("lastModifierEmail")) { + lastModifierEmail = _json["lastModifierEmail"]; + } if (_json.containsKey("name")) { name = _json["name"]; } @@ -7452,6 +8605,9 @@ if (_json.containsKey("tags")) { tags = new Tags.fromJson(_json["tags"]); } + if (_json.containsKey("writersCanEditPermissions")) { + writersCanEditPermissions = _json["writersCanEditPermissions"]; + } } core.Map toJson() { @@ -7462,6 +8618,9 @@ if (creationTime != null) { _json["creationTime"] = (creationTime).toIso8601String(); } + if (creatorEmail != null) { + _json["creatorEmail"] = creatorEmail; + } if (description != null) { _json["description"] = description; } @@ -7480,6 +8639,9 @@ if (lastModifiedTime != null) { _json["lastModifiedTime"] = (lastModifiedTime).toIso8601String(); } + if (lastModifierEmail != null) { + _json["lastModifierEmail"] = lastModifierEmail; + } if (name != null) { _json["name"] = name; } @@ -7501,6 +8663,9 @@ if (tags != null) { _json["tags"] = tags; } + if (writersCanEditPermissions != null) { + _json["writersCanEditPermissions"] = writersCanEditPermissions; + } return _json; } } @@ -7550,7 +8715,12 @@ } -/** The response returned by a call to tables.List. */ +/** + * The response returned by a call to tables.List. Note: The list response does + * not include all the fields available in a table. Refer to the table resource + * description for details of the fields that are not included. You'll need to + * send a get request to retrieve the additional fields for each table. + */ class TablesListResponse { /** Next page token. */ core.String nextPageToken;
diff --git a/generated/googleapis/lib/mirror/v1.dart b/generated/googleapis/lib/mirror/v1.dart index 9212fb6..81e7a79 100644 --- a/generated/googleapis/lib/mirror/v1.dart +++ b/generated/googleapis/lib/mirror/v1.dart
@@ -32,7 +32,7 @@ TimelineResourceApi get timeline => new TimelineResourceApi(_requester); MirrorApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/mirror/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "mirror/v1/"); } @@ -1776,6 +1776,16 @@ core.String action; /** + * The ContextualMenus.Command associated with this MenuItem (e.g. + * READ_ALOUD). The voice label for this command will be displayed in the + * voice menu and the touch label will be displayed in the touch menu. Note + * that the default menu value's display name will be overriden if you specify + * this property. Values that do not correspond to a ContextualMenus.Command + * name will be ignored. + */ + core.String contextualCommand; + + /** * The ID for this menu item. This is generated by the application and is * treated as an opaque token. */ @@ -1813,6 +1823,9 @@ if (_json.containsKey("action")) { action = _json["action"]; } + if (_json.containsKey("contextual_command")) { + contextualCommand = _json["contextual_command"]; + } if (_json.containsKey("id")) { id = _json["id"]; } @@ -1832,6 +1845,9 @@ if (action != null) { _json["action"] = action; } + if (contextualCommand != null) { + _json["contextual_command"] = contextualCommand; + } if (id != null) { _json["id"] = id; }
diff --git a/generated/googleapis/lib/oauth2/v2.dart b/generated/googleapis/lib/oauth2/v2.dart index 57c8adf..4b352a1 100644 --- a/generated/googleapis/lib/oauth2/v2.dart +++ b/generated/googleapis/lib/oauth2/v2.dart
@@ -33,7 +33,7 @@ UserinfoResourceApi get userinfo => new UserinfoResourceApi(_requester); Oauth2Api(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", ""); /** * Not documented yet.
diff --git a/generated/googleapis/lib/orkut/v2.dart b/generated/googleapis/lib/orkut/v2.dart index f99d6c4..0936a14 100644 --- a/generated/googleapis/lib/orkut/v2.dart +++ b/generated/googleapis/lib/orkut/v2.dart
@@ -45,7 +45,7 @@ ScrapsResourceApi get scraps => new ScrapsResourceApi(_requester); OrkutApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/orkut/v2/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "orkut/v2/"); }
diff --git a/generated/googleapis/lib/pagespeedonline/v1.dart b/generated/googleapis/lib/pagespeedonline/v1.dart index d690526..3e4f397 100644 --- a/generated/googleapis/lib/pagespeedonline/v1.dart +++ b/generated/googleapis/lib/pagespeedonline/v1.dart
@@ -24,7 +24,7 @@ PagespeedapiResourceApi get pagespeedapi => new PagespeedapiResourceApi(_requester); PagespeedonlineApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/pagespeedonline/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "pagespeedonline/v1/"); }
diff --git a/generated/googleapis/lib/plus/v1.dart b/generated/googleapis/lib/plus/v1.dart index 8e1c018..3220c43 100644 --- a/generated/googleapis/lib/plus/v1.dart +++ b/generated/googleapis/lib/plus/v1.dart
@@ -38,7 +38,7 @@ PeopleResourceApi get people => new PeopleResourceApi(_requester); PlusApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/plus/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "plus/v1/"); }
diff --git a/generated/googleapis/lib/plusdomains/v1.dart b/generated/googleapis/lib/plusdomains/v1.dart index 4b9ad58..8f5b6a0 100644 --- a/generated/googleapis/lib/plusdomains/v1.dart +++ b/generated/googleapis/lib/plusdomains/v1.dart
@@ -62,7 +62,7 @@ PeopleResourceApi get people => new PeopleResourceApi(_requester); PlusDomainsApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/plusDomains/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "plusDomains/v1/"); }
diff --git a/generated/googleapis/lib/prediction/v1_6.dart b/generated/googleapis/lib/prediction/v1_6.dart index fd148d8..f53d16e 100644 --- a/generated/googleapis/lib/prediction/v1_6.dart +++ b/generated/googleapis/lib/prediction/v1_6.dart
@@ -37,7 +37,7 @@ TrainedmodelsResourceApi get trainedmodels => new TrainedmodelsResourceApi(_requester); PredictionApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/prediction/v1.6/projects/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "prediction/v1.6/projects/"); } @@ -1365,7 +1365,7 @@ core.List<OutputOutputMulti> outputMulti; /** The estimated regression value (Regression models only). */ - core.double outputValue; + core.String outputValue; /** A URL to re-request this resource. */ core.String selfLink;
diff --git a/generated/googleapis/lib/qpxexpress/v1.dart b/generated/googleapis/lib/qpxexpress/v1.dart index 9f0f701..ff4a39a 100644 --- a/generated/googleapis/lib/qpxexpress/v1.dart +++ b/generated/googleapis/lib/qpxexpress/v1.dart
@@ -24,7 +24,7 @@ TripsResourceApi get trips => new TripsResourceApi(_requester); QpxExpressApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/qpxExpress/v1/trips/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "qpxExpress/v1/trips/"); }
diff --git a/generated/googleapis/lib/reseller/v1.dart b/generated/googleapis/lib/reseller/v1.dart index 117400f..316cf25 100644 --- a/generated/googleapis/lib/reseller/v1.dart +++ b/generated/googleapis/lib/reseller/v1.dart
@@ -28,7 +28,7 @@ SubscriptionsResourceApi get subscriptions => new SubscriptionsResourceApi(_requester); ResellerApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/apps/reseller/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "apps/reseller/v1/"); }
diff --git a/generated/googleapis/lib/siteverification/v1.dart b/generated/googleapis/lib/siteverification/v1.dart index bda5a8e..1b0bff2 100644 --- a/generated/googleapis/lib/siteverification/v1.dart +++ b/generated/googleapis/lib/siteverification/v1.dart
@@ -29,7 +29,7 @@ WebResourceResourceApi get webResource => new WebResourceResourceApi(_requester); SiteVerificationApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/siteVerification/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "siteVerification/v1/"); }
diff --git a/generated/googleapis/lib/src/common_internal.dart b/generated/googleapis/lib/src/common_internal.dart index 9549d7f..2b60eb2 100644 --- a/generated/googleapis/lib/src/common_internal.dart +++ b/generated/googleapis/lib/src/common_internal.dart
@@ -9,7 +9,7 @@ import "package:http/http.dart" as http; const String USER_AGENT_STRING = - 'google-api-dart-client googleapis/0.1.1'; + 'google-api-dart-client googleapis/0.2.0'; const CONTENT_TYPE_JSON_UTF8 = 'application/json; charset=utf-8'; @@ -152,7 +152,7 @@ if (requestUrl.startsWith('/')) { path ="$_rootUrl${requestUrl.substring(1)}"; } else { - path ="$_rootUrl${_basePath.substring(1)}$requestUrl"; + path ="$_rootUrl${_basePath}$requestUrl"; } bool containsQueryParameter = path.contains('?'); @@ -430,12 +430,19 @@ // Upload all but the last chunk. // The final send will be done in the [onDone] handler. - if (chunkStack.length > 1) { + bool hasPartialChunk = chunkStack.hasPartialChunk; + if (chunkStack.length > 1 || + (chunkStack.length == 1 && hasPartialChunk)) { // Pause the input stream. subscription.pause(); // Upload all chunks except the last one. - var fullChunks = chunkStack.removeSublist(0, chunkStack.length - 1); + var fullChunks; + if (hasPartialChunk) { + fullChunks = chunkStack.removeSublist(0, chunkStack.length); + } else { + fullChunks = chunkStack.removeSublist(0, chunkStack.length - 1); + } Future.forEach(fullChunks, (c) => _uploadChunkDrained(uploadUri, c)).then((_) { // All chunks uploaded, we can continue consuming data. @@ -457,11 +464,13 @@ chunkStack.finalize(); var lastChunk; - if (chunkStack.totalByteLength > 0) { - assert(chunkStack.length == 1); + if (chunkStack.length == 1) { lastChunk = chunkStack.removeSublist(0, chunkStack.length).first; } else { - lastChunk = new ResumableChunk([], 0, 0); + completer.completeError(new StateError( + 'Resumable uploads need to result in at least one non-empty ' + 'chunk at the end.')); + return; } var end = lastChunk.endOfChunk; @@ -654,16 +663,34 @@ // Currently accumulated data. List<List<int>> _byteArrays = []; int _length = 0; - int _totalLength = 0; int _offset = 0; bool _finalized = false; ChunkStack(this._chunkSize); + /** + * Whether data for a not-yet-finished [ResumableChunk] is present. A call to + * `finalize` will create a [ResumableChunk] of this data. + */ + bool get hasPartialChunk => _length > 0; + + /** + * The number of chunks in this [ChunkStack]. + */ int get length => _chunkStack.length; - int get totalByteLength => _offset; + /** + * The total number of bytes which have been converted to [ResumableChunk]s. + * Can only be called once this [ChunkStack] has been finalized. + */ + int get totalByteLength { + if (!_finalized) { + throw new StateError('ChunkStack has not been finalized yet.'); + } + + return _offset; + } /** * Returns the chunks [from] ... [to] and deletes it from the stack.
diff --git a/generated/googleapis/lib/storage/v1.dart b/generated/googleapis/lib/storage/v1.dart index 50d312b..a9fe572 100644 --- a/generated/googleapis/lib/storage/v1.dart +++ b/generated/googleapis/lib/storage/v1.dart
@@ -35,7 +35,7 @@ ObjectsResourceApi get objects => new ObjectsResourceApi(_requester); StorageApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/storage/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "storage/v1/"); }
diff --git a/generated/googleapis/lib/tasks/v1.dart b/generated/googleapis/lib/tasks/v1.dart index 006d18d..47807f9 100644 --- a/generated/googleapis/lib/tasks/v1.dart +++ b/generated/googleapis/lib/tasks/v1.dart
@@ -28,7 +28,7 @@ TasksResourceApi get tasks => new TasksResourceApi(_requester); TasksApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/tasks/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "tasks/v1/"); }
diff --git a/generated/googleapis/lib/translate/v2.dart b/generated/googleapis/lib/translate/v2.dart index 03f2b19..fa6e34b 100644 --- a/generated/googleapis/lib/translate/v2.dart +++ b/generated/googleapis/lib/translate/v2.dart
@@ -23,7 +23,7 @@ TranslationsResourceApi get translations => new TranslationsResourceApi(_requester); TranslateApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/language/translate/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "language/translate/"); }
diff --git a/generated/googleapis/lib/urlshortener/v1.dart b/generated/googleapis/lib/urlshortener/v1.dart index bcff89b..2345c85 100644 --- a/generated/googleapis/lib/urlshortener/v1.dart +++ b/generated/googleapis/lib/urlshortener/v1.dart
@@ -24,7 +24,7 @@ UrlResourceApi get url => new UrlResourceApi(_requester); UrlshortenerApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/urlshortener/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "urlshortener/v1/"); }
diff --git a/generated/googleapis/lib/webfonts/v1.dart b/generated/googleapis/lib/webfonts/v1.dart index ce5c196..08e7bad 100644 --- a/generated/googleapis/lib/webfonts/v1.dart +++ b/generated/googleapis/lib/webfonts/v1.dart
@@ -21,7 +21,7 @@ WebfontsResourceApi get webfonts => new WebfontsResourceApi(_requester); WebfontsApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/webfonts/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "webfonts/v1/"); }
diff --git a/generated/googleapis/lib/youtube/v3.dart b/generated/googleapis/lib/youtube/v3.dart index 33b6132..0f0fca2 100644 --- a/generated/googleapis/lib/youtube/v3.dart +++ b/generated/googleapis/lib/youtube/v3.dart
@@ -55,7 +55,7 @@ WatermarksResourceApi get watermarks => new WatermarksResourceApi(_requester); YoutubeApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/youtube/v3/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "youtube/v3/"); }
diff --git a/generated/googleapis/lib/youtubeanalytics/v1.dart b/generated/googleapis/lib/youtubeanalytics/v1.dart index dae5e36..9cfc553 100644 --- a/generated/googleapis/lib/youtubeanalytics/v1.dart +++ b/generated/googleapis/lib/youtubeanalytics/v1.dart
@@ -29,7 +29,7 @@ ReportsResourceApi get reports => new ReportsResourceApi(_requester); YoutubeAnalyticsApi(http.Client client) : - _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/youtube/analytics/v1/"); + _requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "youtube/analytics/v1/"); }