// Copyright 2017 Google Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package google.streetview.publish.v1; import "google/protobuf/field_mask.proto"; import "google/rpc/status.proto"; import "google/streetview/publish/v1/resources.proto"; option go_package = "google.golang.org/genproto/googleapis/streetview/publish/v1;publish"; option java_outer_classname = "StreetViewPublishRpcMessages"; option java_package = "com.google.geo.ugc.streetview.publish.v1"; // Request to create a photo. message CreatePhotoRequest { // Required. Photo to create. Photo photo = 1; } // Request to get a photo. // // By default // - does not return the download URL for the photo bytes. // // Parameters: // - 'view' controls if the download URL for the photo bytes will be returned. message GetPhotoRequest { // Required. ID of the photo. string photo_id = 1; // Specifies if a download URL for the photo bytes should be returned in the // Photo response. PhotoView view = 2; } // Request to get one or more photos. // By default // - does not return the download URL for the photo bytes. // // Parameters: // - 'view' controls if the download URL for the photo bytes will be returned. message BatchGetPhotosRequest { // Required. IDs of the photos. repeated string photo_ids = 1; // Specifies if a download URL for the photo bytes should be returned in the // Photo response. PhotoView view = 2; } // Response to batch get of photos. message BatchGetPhotosResponse { // List of results for each individual photo requested, in the same order as // the request. repeated PhotoResponse results = 1; } // Response payload for a single `Photo` in batch operations including // `BatchGetPhotosRequest` and `BatchUpdatePhotosRequest`. message PhotoResponse { // The status for the operation to get or update a single photo in the batch // request. google.rpc.Status status = 1; // The photo resource, if the request was successful. Photo photo = 2; } // Request to list all photos that belong to the user sending the request. // // By default // - does not return the download URL for the photo bytes. // // Parameters: // - 'view' controls if the download URL for the photo bytes will be returned. // - 'page_size' determines the maximum number of photos to return. // - 'page_token' is the next page token value returned from a previous List // request, if any. message ListPhotosRequest { // Specifies if a download URL for the photos bytes should be returned in the // Photos response. PhotoView view = 1; // The maximum number of photos to return. // `page_size` must be non-negative. If `page_size` 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 `page_size` // if the number of photos that belong to the user is less than `page_size`. int32 page_size = 2; // The next_page_token value returned from a previous List request, if any. string page_token = 3; // The filter expression. // Example: `placeId=ChIJj61dQgK6j4AR4GeTYWZsKWw` string filter = 4; } // Response to list all photos that belong to a user. message ListPhotosResponse { // List of photos. There will be a maximum number of items returned based on // the page_size field in the request. repeated Photo photos = 1; // Token to retrieve the next page of results, or empty if there are no // more results in the list. string next_page_token = 2; } // Request to update the metadata of a photo. // Updating the pixels of a photo is not supported. message UpdatePhotoRequest { // Required. Photo object containing the new metadata. Only the fields // specified in `update_mask` are used. If `update_mask` is not present, the // update applies to all fields. // **Note:** To update `pose.altitude`, `pose.latlngpair` has to be filled as // well. Otherwise, the request will fail. Photo photo = 1; // 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` // // // **Note:** Repeated fields in `update_mask` mean the entire set of repeated // values will be replaced with the new contents. For example, if // `UpdatePhotoRequest.photo.update_mask` contains `connections` and // `UpdatePhotoRequest.photo.connections` is empty, all connections will be // removed. google.protobuf.FieldMask update_mask = 2; } // Request to update the metadata of photos. // Updating the pixels of photos is not supported. message BatchUpdatePhotosRequest { // Required. List of update photo requests. repeated UpdatePhotoRequest update_photo_requests = 1; } // Response to batch update of metadata of one or more photos. message BatchUpdatePhotosResponse { // List of results for each individual photo updated, in the same order as // the request. repeated PhotoResponse results = 1; } // Request to delete a photo. message DeletePhotoRequest { // Required. ID of the photo. string photo_id = 1; } // Request to delete multiple photos. message BatchDeletePhotosRequest { // Required. List of delete photo requests. repeated string photo_ids = 1; } // Response to batch delete of one or more photos. message BatchDeletePhotosResponse { // The status for the operation to delete a single photo in the batch request. repeated google.rpc.Status status = 1; } // Specifies which view of the `Photo` should be included in the response. enum PhotoView { // Server reponses do not include the download URL for the photo bytes. // The default value. BASIC = 0; // Server responses include the download URL for the photo bytes. INCLUDE_DOWNLOAD_URL = 1; }