Files
2026-04-05 16:14:49 -04:00

200 lines
6.5 KiB
Protocol Buffer

// 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;
}