Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(547)

Unified Diff: generated/googleapis/lib/streetviewpublish/v1.dart

Issue 2987103002: Api-Roll 52: 2017-07-31 (Closed)
Patch Set: Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « generated/googleapis/lib/storagetransfer/v1.dart ('k') | generated/googleapis/lib/tracing/v2.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: generated/googleapis/lib/streetviewpublish/v1.dart
diff --git a/generated/googleapis/lib/streetviewpublish/v1.dart b/generated/googleapis/lib/streetviewpublish/v1.dart
new file mode 100644
index 0000000000000000000000000000000000000000..ea6b58e37315ebc73cdd98dcdf61f895270c8441
--- /dev/null
+++ b/generated/googleapis/lib/streetviewpublish/v1.dart
@@ -0,0 +1,1409 @@
+// This is a generated file (see the discoveryapis_generator project).
+
+library googleapis.streetviewpublish.v1;
+
+import 'dart:core' as core;
+import 'dart:async' as async;
+import 'dart:convert' as convert;
+
+import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons;
+import 'package:http/http.dart' as http;
+
+export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' show
+ ApiRequestError, DetailedApiRequestError;
+
+const core.String USER_AGENT = 'dart-api-client streetviewpublish/v1';
+
+/**
+ * Publishes 360 photos to Google Maps, along with position, orientation, and
+ * connectivity metadata. Apps can offer an interface for positioning,
+ * connecting, and uploading user-generated Street View images.
+ */
+class StreetviewpublishApi {
+ /** Publish and manage your 360 photos on Google Street View */
+ static const StreetviewpublishScope = "https://www.googleapis.com/auth/streetviewpublish";
+
+
+ final commons.ApiRequester _requester;
+
+ PhotoResourceApi get photo => new PhotoResourceApi(_requester);
+ PhotosResourceApi get photos => new PhotosResourceApi(_requester);
+
+ StreetviewpublishApi(http.Client client, {core.String rootUrl: "https://streetviewpublish.googleapis.com/", core.String servicePath: ""}) :
+ _requester = new commons.ApiRequester(client, rootUrl, servicePath, USER_AGENT);
+}
+
+
+class PhotoResourceApi {
+ final commons.ApiRequester _requester;
+
+ PhotoResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * After the client finishes uploading the photo with the returned
+ * UploadRef,
+ * CreatePhoto
+ * publishes the uploaded Photo to
+ * Street View on Google Maps.
+ *
+ * This method returns the following error codes:
+ *
+ * * google.rpc.Code.INVALID_ARGUMENT if the request is malformed.
+ * * google.rpc.Code.NOT_FOUND if the upload reference does not exist.
+ * * google.rpc.Code.RESOURCE_EXHAUSTED if the account has reached the
+ * storage limit.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * Completes with a [Photo].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Photo> create(Photo request) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+
+ _url = 'v1/photo';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Photo.fromJson(data));
+ }
+
+ /**
+ * Deletes a Photo and its metadata.
+ *
+ * This method returns the following error codes:
+ *
+ * * google.rpc.Code.PERMISSION_DENIED if the requesting user did not
+ * create the requested photo.
+ * * google.rpc.Code.NOT_FOUND if the photo ID does not exist.
+ *
+ * Request parameters:
+ *
+ * [photoId] - Required. ID of the Photo.
+ *
+ * Completes with a [Empty].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Empty> delete(core.String photoId) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (photoId == null) {
+ throw new core.ArgumentError("Parameter photoId is required.");
+ }
+
+ _url = 'v1/photo/' + commons.Escaper.ecapeVariable('$photoId');
+
+ var _response = _requester.request(_url,
+ "DELETE",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Empty.fromJson(data));
+ }
+
+ /**
+ * Gets the metadata of the specified
+ * Photo.
+ *
+ * This method returns the following error codes:
+ *
+ * * google.rpc.Code.PERMISSION_DENIED if the requesting user did not
+ * create the requested Photo.
+ * * google.rpc.Code.NOT_FOUND if the requested
+ * Photo does not exist.
+ *
+ * Request parameters:
+ *
+ * [photoId] - Required. ID of the Photo.
+ *
+ * [view] - Specifies if a download URL for the photo bytes should be returned
+ * in the
+ * Photo response.
+ * Possible string values are:
+ * - "BASIC" : A BASIC.
+ * - "INCLUDE_DOWNLOAD_URL" : A INCLUDE_DOWNLOAD_URL.
+ *
+ * Completes with a [Photo].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Photo> get(core.String photoId, {core.String view}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (photoId == null) {
+ throw new core.ArgumentError("Parameter photoId is required.");
+ }
+ if (view != null) {
+ _queryParams["view"] = [view];
+ }
+
+ _url = 'v1/photo/' + commons.Escaper.ecapeVariable('$photoId');
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Photo.fromJson(data));
+ }
+
+ /**
+ * Creates an upload session to start uploading photo bytes. The upload URL of
+ * the returned UploadRef is used to
+ * upload the bytes for the Photo.
+ *
+ * In addition to the photo requirements shown in
+ * https://support.google.com/maps/answer/7012050?hl=en&ref_topic=6275604,
+ * the photo must also meet the following requirements:
+ *
+ * * Photo Sphere XMP metadata must be included in the photo medadata. See
+ * https://developers.google.com/streetview/spherical-metadata for the
+ * required fields.
+ * * The pixel size of the photo must meet the size requirements listed in
+ * https://support.google.com/maps/answer/7012050?hl=en&ref_topic=6275604, and
+ * the photo must be a full 360 horizontally.
+ *
+ * After the upload is complete, the
+ * UploadRef is used with
+ * CreatePhoto
+ * to create the Photo object entry.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * Completes with a [UploadRef].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<UploadRef> startUpload(Empty request) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+
+ _url = 'v1/photo:startUpload';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new UploadRef.fromJson(data));
+ }
+
+ /**
+ * Updates the metadata of a Photo, such
+ * as pose, place association, connections, etc. Changing the pixels of a
+ * photo is not supported.
+ *
+ * This method returns the following error codes:
+ *
+ * * google.rpc.Code.PERMISSION_DENIED if the requesting user did not
+ * create the requested photo.
+ * * google.rpc.Code.INVALID_ARGUMENT if the request is malformed.
+ * * google.rpc.Code.NOT_FOUND if the requested photo does not exist.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * [id] - Required. A base64 encoded identifier.
+ *
+ * [updateMask] - Mask that identifies fields on the photo metadata to update.
+ * If not present, the old Photo metadata will be entirely replaced with the
+ * new Photo metadata in this request. The update fails if invalid fields are
+ * specified. Multiple fields can be specified in a comma-delimited list.
+ *
+ * The following fields are valid:
+ *
+ * * `pose.heading`
+ * * `pose.latlngpair`
+ * * `pose.pitch`
+ * * `pose.roll`
+ * * `pose.level`
+ * * `pose.altitude`
+ * * `connections`
+ * * `places`
+ *
+ *
+ * <aside class="note"><b>Note:</b> Repeated fields in
+ * updateMask
+ * mean the entire set of repeated values will be replaced with the new
+ * contents. For example, if
+ * updateMask
+ * contains `connections` and
+ * google.streetview.publish.v1.UpdatePhotoRequest.photo.connections is
+ * empty, all connections will be removed.</aside>
+ *
+ * Completes with a [Photo].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<Photo> update(Photo request, core.String id, {core.String updateMask}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.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.");
+ }
+ if (updateMask != null) {
+ _queryParams["updateMask"] = [updateMask];
+ }
+
+ _url = 'v1/photo/' + commons.Escaper.ecapeVariable('$id');
+
+ var _response = _requester.request(_url,
+ "PUT",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new Photo.fromJson(data));
+ }
+
+}
+
+
+class PhotosResourceApi {
+ final commons.ApiRequester _requester;
+
+ PhotosResourceApi(commons.ApiRequester client) :
+ _requester = client;
+
+ /**
+ * Deletes a list of Photos and their metadata.
+ *
+ * Note that if
+ * BatchDeletePhotos
+ * fails, either critical fields are missing or there was an authentication
+ * error. Even if
+ * BatchDeletePhotos
+ * succeeds, there may have been failures for single photos in the batch.
+ * These failures will be specified in each
+ * PhotoResponse.status
+ * in
+ * BatchDeletePhotosResponse.results.
+ * See
+ * DeletePhoto
+ * for specific failures that can occur per photo.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * Completes with a [BatchDeletePhotosResponse].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<BatchDeletePhotosResponse> batchDelete(BatchDeletePhotosRequest request) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+
+ _url = 'v1/photos:batchDelete';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new BatchDeletePhotosResponse.fromJson(data));
+ }
+
+ /**
+ * Gets the metadata of the specified
+ * Photo batch.
+ *
+ * Note that if
+ * BatchGetPhotos
+ * fails, either critical fields are missing or there was an authentication
+ * error. Even if
+ * BatchGetPhotos
+ * succeeds, there may have been failures for single photos in the batch.
+ * These failures will be specified in each
+ * PhotoResponse.status
+ * in
+ * BatchGetPhotosResponse.results.
+ * See
+ * GetPhoto
+ * for specific failures that can occur per photo.
+ *
+ * Request parameters:
+ *
+ * [view] - Specifies if a download URL for the photo bytes should be returned
+ * in the
+ * Photo response.
+ * Possible string values are:
+ * - "BASIC" : A BASIC.
+ * - "INCLUDE_DOWNLOAD_URL" : A INCLUDE_DOWNLOAD_URL.
+ *
+ * [photoIds] - Required. IDs of the Photos. For HTTP
+ * GET requests, the URL query parameter should be
+ * `photoIds=<id1>&photoIds=<id2>&...`.
+ *
+ * Completes with a [BatchGetPhotosResponse].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<BatchGetPhotosResponse> batchGet({core.String view, core.List<core.String> photoIds}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (view != null) {
+ _queryParams["view"] = [view];
+ }
+ if (photoIds != null) {
+ _queryParams["photoIds"] = photoIds;
+ }
+
+ _url = 'v1/photos:batchGet';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new BatchGetPhotosResponse.fromJson(data));
+ }
+
+ /**
+ * Updates the metadata of Photos, such
+ * as pose, place association, connections, etc. Changing the pixels of photos
+ * is not supported.
+ *
+ * Note that if
+ * BatchUpdatePhotos
+ * fails, either critical fields are missing or there was an authentication
+ * error. Even if
+ * BatchUpdatePhotos
+ * succeeds, there may have been failures for single photos in the batch.
+ * These failures will be specified in each
+ * PhotoResponse.status
+ * in
+ * BatchUpdatePhotosResponse.results.
+ * See
+ * UpdatePhoto
+ * for specific failures that can occur per photo.
+ *
+ * [request] - The metadata request object.
+ *
+ * Request parameters:
+ *
+ * Completes with a [BatchUpdatePhotosResponse].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<BatchUpdatePhotosResponse> batchUpdate(BatchUpdatePhotosRequest request) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (request != null) {
+ _body = convert.JSON.encode((request).toJson());
+ }
+
+ _url = 'v1/photos:batchUpdate';
+
+ var _response = _requester.request(_url,
+ "POST",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new BatchUpdatePhotosResponse.fromJson(data));
+ }
+
+ /**
+ * Lists all the Photos that belong to the user.
+ *
+ * Request parameters:
+ *
+ * [pageToken] - The
+ * nextPageToken
+ * value returned from a previous
+ * ListPhotos
+ * request, if any.
+ *
+ * [pageSize] - The maximum number of photos to return.
+ * `pageSize` must be non-negative. If `pageSize` is zero or is not provided,
+ * the default page size of 100 will be used.
+ * The number of photos returned in the response may be less than `pageSize`
+ * if the number of photos that belong to the user is less than `pageSize`.
+ *
+ * [view] - Specifies if a download URL for the photos bytes should be
+ * returned in the
+ * Photos response.
+ * Possible string values are:
+ * - "BASIC" : A BASIC.
+ * - "INCLUDE_DOWNLOAD_URL" : A INCLUDE_DOWNLOAD_URL.
+ *
+ * [filter] - The filter expression. For example:
+ * `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw`.
+ *
+ * Completes with a [ListPhotosResponse].
+ *
+ * Completes with a [commons.ApiRequestError] if the API endpoint returned an
+ * error.
+ *
+ * If the used [http.Client] completes with an error when making a REST call,
+ * this method will complete with the same error.
+ */
+ async.Future<ListPhotosResponse> list({core.String pageToken, core.int pageSize, core.String view, core.String filter}) {
+ var _url = null;
+ var _queryParams = new core.Map();
+ var _uploadMedia = null;
+ var _uploadOptions = null;
+ var _downloadOptions = commons.DownloadOptions.Metadata;
+ var _body = null;
+
+ if (pageToken != null) {
+ _queryParams["pageToken"] = [pageToken];
+ }
+ if (pageSize != null) {
+ _queryParams["pageSize"] = ["${pageSize}"];
+ }
+ if (view != null) {
+ _queryParams["view"] = [view];
+ }
+ if (filter != null) {
+ _queryParams["filter"] = [filter];
+ }
+
+ _url = 'v1/photos';
+
+ var _response = _requester.request(_url,
+ "GET",
+ body: _body,
+ queryParams: _queryParams,
+ uploadOptions: _uploadOptions,
+ uploadMedia: _uploadMedia,
+ downloadOptions: _downloadOptions);
+ return _response.then((data) => new ListPhotosResponse.fromJson(data));
+ }
+
+}
+
+
+
+/** Request to delete multiple Photos. */
+class BatchDeletePhotosRequest {
+ /**
+ * Required. IDs of the Photos. For HTTP
+ * GET requests, the URL query parameter should be
+ * `photoIds=<id1>&photoIds=<id2>&...`.
+ */
+ core.List<core.String> photoIds;
+
+ BatchDeletePhotosRequest();
+
+ BatchDeletePhotosRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("photoIds")) {
+ photoIds = _json["photoIds"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (photoIds != null) {
+ _json["photoIds"] = photoIds;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Response to batch delete of one or more
+ * Photos.
+ */
+class BatchDeletePhotosResponse {
+ /**
+ * The status for the operation to delete a single
+ * Photo in the batch request.
+ */
+ core.List<Status> status;
+
+ BatchDeletePhotosResponse();
+
+ BatchDeletePhotosResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("status")) {
+ status = _json["status"].map((value) => new Status.fromJson(value)).toList();
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (status != null) {
+ _json["status"] = status.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/** Response to batch get of Photos. */
+class BatchGetPhotosResponse {
+ /**
+ * List of results for each individual
+ * Photo requested, in the same order as
+ * the requests in
+ * BatchGetPhotos.
+ */
+ core.List<PhotoResponse> results;
+
+ BatchGetPhotosResponse();
+
+ BatchGetPhotosResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("results")) {
+ results = _json["results"].map((value) => new PhotoResponse.fromJson(value)).toList();
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (results != null) {
+ _json["results"] = results.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/**
+ * Request to update the metadata of photos.
+ * Updating the pixels of photos is not supported.
+ */
+class BatchUpdatePhotosRequest {
+ /**
+ * Required. List of
+ * UpdatePhotoRequests.
+ */
+ core.List<UpdatePhotoRequest> updatePhotoRequests;
+
+ BatchUpdatePhotosRequest();
+
+ BatchUpdatePhotosRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("updatePhotoRequests")) {
+ updatePhotoRequests = _json["updatePhotoRequests"].map((value) => new UpdatePhotoRequest.fromJson(value)).toList();
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (updatePhotoRequests != null) {
+ _json["updatePhotoRequests"] = updatePhotoRequests.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/**
+ * Response to batch update of metadata of one or more
+ * Photos.
+ */
+class BatchUpdatePhotosResponse {
+ /**
+ * List of results for each individual
+ * Photo updated, in the same order as
+ * the request.
+ */
+ core.List<PhotoResponse> results;
+
+ BatchUpdatePhotosResponse();
+
+ BatchUpdatePhotosResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("results")) {
+ results = _json["results"].map((value) => new PhotoResponse.fromJson(value)).toList();
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (results != null) {
+ _json["results"] = results.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/** A connection is the link from a source photo to a destination photo. */
+class Connection {
+ /**
+ * Required. The destination of the connection from the containing photo to
+ * another photo.
+ */
+ PhotoId target;
+
+ Connection();
+
+ Connection.fromJson(core.Map _json) {
+ if (_json.containsKey("target")) {
+ target = new PhotoId.fromJson(_json["target"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (target != null) {
+ _json["target"] = (target).toJson();
+ }
+ return _json;
+ }
+}
+
+/**
+ * A generic empty message that you can re-use to avoid defining duplicated
+ * empty messages in your APIs. A typical example is to use it as the request
+ * or the response type of an API method. For instance:
+ *
+ * service Foo {
+ * rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
+ * }
+ *
+ * The JSON representation for `Empty` is empty JSON object `{}`.
+ */
+class Empty {
+
+ Empty();
+
+ Empty.fromJson(core.Map _json) {
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ return _json;
+ }
+}
+
+/**
+ * An object representing a latitude/longitude pair. This is expressed as a pair
+ * of doubles representing degrees latitude and degrees longitude. Unless
+ * specified otherwise, this must conform to the
+ * <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
+ * standard</a>. Values must be within normalized ranges.
+ *
+ * Example of normalization code in Python:
+ *
+ * def NormalizeLongitude(longitude):
+ * """Wraps decimal degrees longitude to [-180.0, 180.0]."""
+ * q, r = divmod(longitude, 360.0)
+ * if r > 180.0 or (r == 180.0 and q <= -1.0):
+ * return r - 360.0
+ * return r
+ *
+ * def NormalizeLatLng(latitude, longitude):
+ * """Wraps decimal degrees latitude and longitude to
+ * [-90.0, 90.0] and [-180.0, 180.0], respectively."""
+ * r = latitude % 360.0
+ * if r <= 90.0:
+ * return r, NormalizeLongitude(longitude)
+ * elif r >= 270.0:
+ * return r - 360, NormalizeLongitude(longitude)
+ * else:
+ * return 180 - r, NormalizeLongitude(longitude + 180.0)
+ *
+ * assert 180.0 == NormalizeLongitude(180.0)
+ * assert -180.0 == NormalizeLongitude(-180.0)
+ * assert -179.0 == NormalizeLongitude(181.0)
+ * assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
+ * assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
+ * assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
+ * assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
+ * assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
+ * assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
+ * assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
+ * assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
+ * assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
+ * assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
+ */
+class LatLng {
+ /** The latitude in degrees. It must be in the range [-90.0, +90.0]. */
+ core.double latitude;
+ /** The longitude in degrees. It must be in the range [-180.0, +180.0]. */
+ core.double longitude;
+
+ LatLng();
+
+ LatLng.fromJson(core.Map _json) {
+ if (_json.containsKey("latitude")) {
+ latitude = _json["latitude"];
+ }
+ if (_json.containsKey("longitude")) {
+ longitude = _json["longitude"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (latitude != null) {
+ _json["latitude"] = latitude;
+ }
+ if (longitude != null) {
+ _json["longitude"] = longitude;
+ }
+ return _json;
+ }
+}
+
+/** Level information containing level number and its corresponding name. */
+class Level {
+ /**
+ * Required. A name assigned to this Level, restricted to 3 characters.
+ * Consider how the elevator buttons would be labeled for this level if there
+ * was an elevator.
+ */
+ core.String name;
+ /**
+ * Floor number, used for ordering. 0 indicates the ground level, 1 indicates
+ * the first level above ground level, -1 indicates the first level under
+ * ground level. Non-integer values are OK.
+ */
+ core.double number;
+
+ Level();
+
+ Level.fromJson(core.Map _json) {
+ if (_json.containsKey("name")) {
+ name = _json["name"];
+ }
+ if (_json.containsKey("number")) {
+ number = _json["number"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (name != null) {
+ _json["name"] = name;
+ }
+ if (number != null) {
+ _json["number"] = number;
+ }
+ return _json;
+ }
+}
+
+/** Response to list all photos that belong to a user. */
+class ListPhotosResponse {
+ /**
+ * Token to retrieve the next page of results, or empty if there are no more
+ * results in the list.
+ */
+ core.String nextPageToken;
+ /**
+ * List of photos. The maximum number of items returned is based on the
+ * pageSize field
+ * in the request.
+ */
+ core.List<Photo> photos;
+
+ ListPhotosResponse();
+
+ ListPhotosResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("nextPageToken")) {
+ nextPageToken = _json["nextPageToken"];
+ }
+ if (_json.containsKey("photos")) {
+ photos = _json["photos"].map((value) => new Photo.fromJson(value)).toList();
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (nextPageToken != null) {
+ _json["nextPageToken"] = nextPageToken;
+ }
+ if (photos != null) {
+ _json["photos"] = photos.map((value) => (value).toJson()).toList();
+ }
+ return _json;
+ }
+}
+
+/** Photo is used to store 360 photos along with photo metadata. */
+class Photo {
+ /**
+ * Absolute time when the photo was captured.
+ * When the photo has no exif timestamp, this is used to set a timestamp in
+ * the photo metadata.
+ */
+ core.String captureTime;
+ /**
+ * Connections to other photos. A connection represents the link from this
+ * photo to another photo.
+ */
+ core.List<Connection> connections;
+ /**
+ * Output only. The download URL for the photo bytes. This field is set only
+ * when
+ * GetPhotoRequest.view
+ * is set to
+ * PhotoView.INCLUDE_DOWNLOAD_URL.
+ */
+ core.String downloadUrl;
+ /**
+ * Required when updating photo. Output only when creating photo.
+ * Identifier for the photo, which is unique among all photos in
+ * Google.
+ */
+ PhotoId photoId;
+ /** Places where this photo belongs. */
+ core.List<Place> places;
+ /** Pose of the photo. */
+ Pose pose;
+ /** Output only. The share link for the photo. */
+ core.String shareLink;
+ /**
+ * Output only. The thumbnail URL for showing a preview of the given photo.
+ */
+ core.String thumbnailUrl;
+ /**
+ * Required when creating photo. Input only. The resource URL where the photo
+ * bytes are uploaded to.
+ */
+ UploadRef uploadReference;
+ /** Output only. View count of the photo. */
+ core.String viewCount;
+
+ Photo();
+
+ Photo.fromJson(core.Map _json) {
+ if (_json.containsKey("captureTime")) {
+ captureTime = _json["captureTime"];
+ }
+ if (_json.containsKey("connections")) {
+ connections = _json["connections"].map((value) => new Connection.fromJson(value)).toList();
+ }
+ if (_json.containsKey("downloadUrl")) {
+ downloadUrl = _json["downloadUrl"];
+ }
+ if (_json.containsKey("photoId")) {
+ photoId = new PhotoId.fromJson(_json["photoId"]);
+ }
+ if (_json.containsKey("places")) {
+ places = _json["places"].map((value) => new Place.fromJson(value)).toList();
+ }
+ if (_json.containsKey("pose")) {
+ pose = new Pose.fromJson(_json["pose"]);
+ }
+ if (_json.containsKey("shareLink")) {
+ shareLink = _json["shareLink"];
+ }
+ if (_json.containsKey("thumbnailUrl")) {
+ thumbnailUrl = _json["thumbnailUrl"];
+ }
+ if (_json.containsKey("uploadReference")) {
+ uploadReference = new UploadRef.fromJson(_json["uploadReference"]);
+ }
+ if (_json.containsKey("viewCount")) {
+ viewCount = _json["viewCount"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (captureTime != null) {
+ _json["captureTime"] = captureTime;
+ }
+ if (connections != null) {
+ _json["connections"] = connections.map((value) => (value).toJson()).toList();
+ }
+ if (downloadUrl != null) {
+ _json["downloadUrl"] = downloadUrl;
+ }
+ if (photoId != null) {
+ _json["photoId"] = (photoId).toJson();
+ }
+ if (places != null) {
+ _json["places"] = places.map((value) => (value).toJson()).toList();
+ }
+ if (pose != null) {
+ _json["pose"] = (pose).toJson();
+ }
+ if (shareLink != null) {
+ _json["shareLink"] = shareLink;
+ }
+ if (thumbnailUrl != null) {
+ _json["thumbnailUrl"] = thumbnailUrl;
+ }
+ if (uploadReference != null) {
+ _json["uploadReference"] = (uploadReference).toJson();
+ }
+ if (viewCount != null) {
+ _json["viewCount"] = viewCount;
+ }
+ return _json;
+ }
+}
+
+/** Identifier for a Photo. */
+class PhotoId {
+ /** Required. A base64 encoded identifier. */
+ core.String id;
+
+ PhotoId();
+
+ PhotoId.fromJson(core.Map _json) {
+ if (_json.containsKey("id")) {
+ id = _json["id"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (id != null) {
+ _json["id"] = id;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Response payload for a single
+ * Photo
+ * in batch operations including
+ * BatchGetPhotos
+ * and
+ * BatchUpdatePhotos.
+ */
+class PhotoResponse {
+ /**
+ * The Photo resource, if the request
+ * was successful.
+ */
+ Photo photo;
+ /**
+ * The status for the operation to get or update a single photo in the batch
+ * request.
+ */
+ Status status;
+
+ PhotoResponse();
+
+ PhotoResponse.fromJson(core.Map _json) {
+ if (_json.containsKey("photo")) {
+ photo = new Photo.fromJson(_json["photo"]);
+ }
+ if (_json.containsKey("status")) {
+ status = new Status.fromJson(_json["status"]);
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (photo != null) {
+ _json["photo"] = (photo).toJson();
+ }
+ if (status != null) {
+ _json["status"] = (status).toJson();
+ }
+ return _json;
+ }
+}
+
+/** Place metadata for an entity. */
+class Place {
+ /**
+ * Required. Place identifier, as described in
+ * https://developers.google.com/places/place-id.
+ */
+ core.String placeId;
+
+ Place();
+
+ Place.fromJson(core.Map _json) {
+ if (_json.containsKey("placeId")) {
+ placeId = _json["placeId"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (placeId != null) {
+ _json["placeId"] = placeId;
+ }
+ return _json;
+ }
+}
+
+/** Raw pose measurement for an entity. */
+class Pose {
+ /**
+ * Altitude of the pose in meters above ground level (as defined by WGS84).
+ * NaN indicates an unmeasured quantity.
+ */
+ core.double altitude;
+ /**
+ * Compass heading, measured at the center of the photo in degrees clockwise
+ * from North. Value must be >=0 and <360.
+ * NaN indicates an unmeasured quantity.
+ */
+ core.double heading;
+ /**
+ * Latitude and longitude pair of the pose, as explained here:
+ * https://cloud.google.com/datastore/docs/reference/rest/Shared.Types/LatLng
+ * When creating a Photo, if the
+ * latitude and longitude pair are not provided here, the geolocation from the
+ * exif header will be used. If the latitude and longitude pair is not
+ * provided and cannot be found in the exif header, the create photo process
+ * will fail.
+ */
+ LatLng latLngPair;
+ /** Level (the floor in a building) used to configure vertical navigation. */
+ Level level;
+ /**
+ * Pitch, measured at the center of the photo in degrees. Value must be >=-90
+ * and <= 90. A value of -90 means looking directly down, and a value of 90
+ * means looking directly up.
+ * NaN indicates an unmeasured quantity.
+ */
+ core.double pitch;
+ /**
+ * Roll, measured in degrees. Value must be >= 0 and <360. A value of 0
+ * means level with the horizon.
+ * NaN indicates an unmeasured quantity.
+ */
+ core.double roll;
+
+ Pose();
+
+ Pose.fromJson(core.Map _json) {
+ if (_json.containsKey("altitude")) {
+ altitude = _json["altitude"];
+ }
+ if (_json.containsKey("heading")) {
+ heading = _json["heading"];
+ }
+ if (_json.containsKey("latLngPair")) {
+ latLngPair = new LatLng.fromJson(_json["latLngPair"]);
+ }
+ if (_json.containsKey("level")) {
+ level = new Level.fromJson(_json["level"]);
+ }
+ if (_json.containsKey("pitch")) {
+ pitch = _json["pitch"];
+ }
+ if (_json.containsKey("roll")) {
+ roll = _json["roll"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (altitude != null) {
+ _json["altitude"] = altitude;
+ }
+ if (heading != null) {
+ _json["heading"] = heading;
+ }
+ if (latLngPair != null) {
+ _json["latLngPair"] = (latLngPair).toJson();
+ }
+ if (level != null) {
+ _json["level"] = (level).toJson();
+ }
+ if (pitch != null) {
+ _json["pitch"] = pitch;
+ }
+ if (roll != null) {
+ _json["roll"] = roll;
+ }
+ return _json;
+ }
+}
+
+/**
+ * The `Status` type defines a logical error model that is suitable for
+ * different
+ * programming environments, including REST APIs and RPC APIs. It is used by
+ * [gRPC](https://github.com/grpc). The error model is designed to be:
+ *
+ * - Simple to use and understand for most users
+ * - Flexible enough to meet unexpected needs
+ *
+ * # Overview
+ *
+ * The `Status` message contains three pieces of data: error code, error
+ * message,
+ * and error details. The error code should be an enum value of
+ * google.rpc.Code, but it may accept additional error codes if needed. The
+ * error message should be a developer-facing English message that helps
+ * developers *understand* and *resolve* the error. If a localized user-facing
+ * error message is needed, put the localized message in the error details or
+ * localize it in the client. The optional error details may contain arbitrary
+ * information about the error. There is a predefined set of error detail types
+ * in the package `google.rpc` that can be used for common error conditions.
+ *
+ * # Language mapping
+ *
+ * The `Status` message is the logical representation of the error model, but it
+ * is not necessarily the actual wire format. When the `Status` message is
+ * exposed in different client libraries and different wire protocols, it can be
+ * mapped differently. For example, it will likely be mapped to some exceptions
+ * in Java, but more likely mapped to some error codes in C.
+ *
+ * # Other uses
+ *
+ * The error model and the `Status` message can be used in a variety of
+ * environments, either with or without APIs, to provide a
+ * consistent developer experience across different environments.
+ *
+ * Example uses of this error model include:
+ *
+ * - Partial errors. If a service needs to return partial errors to the client,
+ * it may embed the `Status` in the normal response to indicate the partial
+ * errors.
+ *
+ * - Workflow errors. A typical workflow has multiple steps. Each step may
+ * have a `Status` message for error reporting.
+ *
+ * - Batch operations. If a client uses batch request and batch response, the
+ * `Status` message should be used directly inside batch response, one for
+ * each error sub-response.
+ *
+ * - Asynchronous operations. If an API call embeds asynchronous operation
+ * results in its response, the status of those operations should be
+ * represented directly using the `Status` message.
+ *
+ * - Logging. If some API errors are stored in logs, the message `Status` could
+ * be used directly after any stripping needed for security/privacy reasons.
+ */
+class Status {
+ /** The status code, which should be an enum value of google.rpc.Code. */
+ core.int code;
+ /**
+ * A list of messages that carry the error details. There is a common set of
+ * message types for APIs to use.
+ *
+ * The values for Object must be JSON objects. It can consist of `num`,
+ * `String`, `bool` and `null` as well as `Map` and `List` values.
+ */
+ core.List<core.Map<core.String, core.Object>> details;
+ /**
+ * A developer-facing error message, which should be in English. Any
+ * user-facing error message should be localized and sent in the
+ * google.rpc.Status.details field, or localized by the client.
+ */
+ core.String message;
+
+ Status();
+
+ Status.fromJson(core.Map _json) {
+ if (_json.containsKey("code")) {
+ code = _json["code"];
+ }
+ if (_json.containsKey("details")) {
+ details = _json["details"];
+ }
+ if (_json.containsKey("message")) {
+ message = _json["message"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (code != null) {
+ _json["code"] = code;
+ }
+ if (details != null) {
+ _json["details"] = details;
+ }
+ if (message != null) {
+ _json["message"] = message;
+ }
+ return _json;
+ }
+}
+
+/**
+ * Request to update the metadata of a
+ * Photo. Updating the pixels of a photo
+ * is not supported.
+ */
+class UpdatePhotoRequest {
+ /**
+ * Required. Photo object containing the
+ * new metadata. Only the fields specified in
+ * updateMask
+ * field are used. If `updateMask` is not present, the update applies to all
+ * fields. <aside class="note"><b>Note:</b> To update
+ * Pose.altitude,
+ * Pose.latLngPair has to be
+ * filled as well. Otherwise, the request will fail.
+ */
+ Photo photo;
+ /**
+ * Mask that identifies fields on the photo metadata to update.
+ * If not present, the old Photo metadata will be entirely replaced with the
+ * new Photo metadata in this request. The update fails if invalid fields are
+ * specified. Multiple fields can be specified in a comma-delimited list.
+ *
+ * The following fields are valid:
+ *
+ * * `pose.heading`
+ * * `pose.latlngpair`
+ * * `pose.pitch`
+ * * `pose.roll`
+ * * `pose.level`
+ * * `pose.altitude`
+ * * `connections`
+ * * `places`
+ *
+ *
+ * <aside class="note"><b>Note:</b> Repeated fields in
+ * updateMask
+ * mean the entire set of repeated values will be replaced with the new
+ * contents. For example, if
+ * updateMask
+ * contains `connections` and
+ * google.streetview.publish.v1.UpdatePhotoRequest.photo.connections is
+ * empty, all connections will be removed.</aside>
+ */
+ core.String updateMask;
+
+ UpdatePhotoRequest();
+
+ UpdatePhotoRequest.fromJson(core.Map _json) {
+ if (_json.containsKey("photo")) {
+ photo = new Photo.fromJson(_json["photo"]);
+ }
+ if (_json.containsKey("updateMask")) {
+ updateMask = _json["updateMask"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (photo != null) {
+ _json["photo"] = (photo).toJson();
+ }
+ if (updateMask != null) {
+ _json["updateMask"] = updateMask;
+ }
+ return _json;
+ }
+}
+
+/** Upload reference for media files. */
+class UploadRef {
+ /**
+ * Required. An upload reference should be unique for each user. It follows
+ * the form:
+ * "https://streetviewpublish.googleapis.com/media/user/{account_id}/photo/{upload_reference}"
+ */
+ core.String uploadUrl;
+
+ UploadRef();
+
+ UploadRef.fromJson(core.Map _json) {
+ if (_json.containsKey("uploadUrl")) {
+ uploadUrl = _json["uploadUrl"];
+ }
+ }
+
+ core.Map<core.String, core.Object> toJson() {
+ final core.Map<core.String, core.Object> _json = new core.Map<core.String, core.Object>();
+ if (uploadUrl != null) {
+ _json["uploadUrl"] = uploadUrl;
+ }
+ return _json;
+ }
+}
« no previous file with comments | « generated/googleapis/lib/storagetransfer/v1.dart ('k') | generated/googleapis/lib/tracing/v2.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698