push all website files

This commit is contained in:
Jacob Levine
2019-01-06 13:14:45 -06:00
parent d7301e26c3
commit d2d5d4c04e
15662 changed files with 2166516 additions and 0 deletions

View File

@@ -0,0 +1,144 @@
// 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/api/annotations.proto";
import "google/protobuf/timestamp.proto";
import "google/type/latlng.proto";
option go_package = "google.golang.org/genproto/googleapis/streetview/publish/v1;publish";
option java_outer_classname = "StreetViewPublishResources";
option java_package = "com.google.geo.ugc.streetview.publish.v1";
// Upload reference for media files.
message 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>"
string upload_url = 1;
}
// Identifier for a photo.
message PhotoId {
// Required. A base64 encoded identifier.
string id = 1;
}
// Level information containing level number and its corresponding name.
message Level {
// 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.
double number = 1;
// 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.
string name = 2;
}
// Raw pose measurement for an entity.
message Pose {
// 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.
google.type.LatLng lat_lng_pair = 1;
// Altitude of the pose in meters above ground level (as defined by WGS84).
// NaN indicates an unmeasured quantity.
double altitude = 2;
// The following pose parameters pertain to the center of the photo. They
// match https://developers.google.com/streetview/spherical-metadata.
// 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.
double heading = 3;
// 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.
double pitch = 4;
// Roll, measured in degrees. Value must be >= 0 and <360. A value of 0
// means level with the horizon.
// NaN indicates an unmeasured quantity.
double roll = 5;
// Level (the floor in a building) used to configure vertical navigation.
Level level = 7;
}
// Place metadata for an entity.
message Place {
// Required. Place identifier, as described in
// https://developers.google.com/places/place-id.
string place_id = 1;
}
// A connection is the link from a source photo to a destination photo.
message Connection {
// Required. The destination of the connection from the containing photo to
// another photo.
PhotoId target = 1;
}
// Photo is used to store 360 photos along with photo metadata.
message Photo {
// Output only. Identifier for the photo, which is unique among all photos in
// Google.
PhotoId photo_id = 1;
// Required (when creating photo). Input only. The resource URL where the
// photo bytes are uploaded to.
UploadRef upload_reference = 2;
// Output only. The download URL for the photo bytes. This field is set only
// when the `view` parameter in a `GetPhotoRequest` is set to
// `INCLUDE_DOWNLOAD_URL`.
string download_url = 3;
// Output only. The thumbnail URL for showing a preview of the given photo.
string thumbnail_url = 9;
// Output only. The share link for the photo.
string share_link = 11;
// Pose of the photo.
Pose pose = 4;
// Connections to other photos. A connection represents the link from this
// photo to another photo.
repeated Connection connections = 5;
// 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.
google.protobuf.Timestamp capture_time = 6;
// Places where this photo belongs.
repeated Place places = 7;
// Output only. View count of the photo.
int64 view_count = 10;
}

View File

@@ -0,0 +1,199 @@
// 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;
}

View File

@@ -0,0 +1,132 @@
// 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/api/annotations.proto";
import "google/protobuf/empty.proto";
import "google/streetview/publish/v1/resources.proto";
import "google/streetview/publish/v1/rpcmessages.proto";
option go_package = "google.golang.org/genproto/googleapis/streetview/publish/v1;publish";
option java_outer_classname = "StreetViewPublish";
option java_package = "com.google.geo.ugc.streetview.publish.v1";
// Definition of the service that backs the Street View Publish API.
// Publishes and connects user-contributed photos on Street View.
service StreetViewPublishService {
// Creates an upload session to start uploading photo data. The upload URL of
// the returned `UploadRef` is used to upload the data for the photo.
//
// After the upload is complete, the `UploadRef` is used with
// `StreetViewPublishService:CreatePhoto()` to create the `Photo` object
// entry.
rpc StartUpload(google.protobuf.Empty) returns (UploadRef) {
option (google.api.http) = { post: "/v1/photo:startUpload" body: "*" };
}
// After the client finishes uploading the photo with the returned
// `UploadRef`, `photo.create` publishes the uploaded photo to Street View on
// Google Maps.
//
// This method returns the following error codes:
//
// * `INVALID_ARGUMENT` if the request is malformed.
// * `NOT_FOUND` if the upload reference does not exist.
rpc CreatePhoto(CreatePhotoRequest) returns (Photo) {
option (google.api.http) = { post: "/v1/photo" body: "photo" };
}
// Gets the metadata of the specified `Photo`.
//
// This method returns the following error codes:
//
// * `PERMISSION_DENIED` if the requesting user did not create the requested
// photo.
// * `NOT_FOUND` if the requested photo does not exist.
rpc GetPhoto(GetPhotoRequest) returns (Photo) {
option (google.api.http) = { get: "/v1/photo/{photo_id}" };
}
// Gets the metadata of the specified `Photo` batch.
//
// Note that if `photos.batchGet` fails, either critical fields are
// missing or there was an authentication error.
// Even if `photos.batchGet` succeeds, there may have been failures
// for single photos in the batch. These failures will be specified in
// `BatchGetPhotosResponse.results.status`.
// See `photo.get` for specific failures that will occur per photo.
rpc BatchGetPhotos(BatchGetPhotosRequest) returns (BatchGetPhotosResponse) {
option (google.api.http) = { get: "/v1/photos:batchGet" };
}
// Lists all the photos that belong to the user.
rpc ListPhotos(ListPhotosRequest) returns (ListPhotosResponse) {
option (google.api.http) = { get: "/v1/photos" };
}
// Updates the metadata of a photo, such as pose, place association, etc.
// Changing the pixels of a photo is not supported.
//
// This method returns the following error codes:
//
// * `PERMISSION_DENIED` if the requesting user did not create the requested
// photo.
// * `INVALID_ARGUMENT` if the request is malformed.
// * `NOT_FOUND` if the photo ID does not exist.
rpc UpdatePhoto(UpdatePhotoRequest) returns (Photo) {
option (google.api.http) = { put: "/v1/photo/{photo.photo_id.id}" body: "photo" };
}
// Updates the metadata of photos, such as pose, place association, etc.
// Changing the pixels of a photo is not supported.
//
// Note that if `photos.batchUpdate` fails, either critical fields
// are missing or there was an authentication error.
// Even if `photos.batchUpdate` succeeds, there may have been
// failures for single photos in the batch. These failures will be specified
// in `BatchUpdatePhotosResponse.results.status`.
// See `UpdatePhoto` for specific failures that will occur per photo.
rpc BatchUpdatePhotos(BatchUpdatePhotosRequest) returns (BatchUpdatePhotosResponse) {
option (google.api.http) = { post: "/v1/photos:batchUpdate" body: "*" };
}
// Deletes a photo and its metadata.
//
// This method returns the following error codes:
//
// * `PERMISSION_DENIED` if the requesting user did not create the requested
// photo.
// * `NOT_FOUND` if the photo ID does not exist.
rpc DeletePhoto(DeletePhotoRequest) returns (google.protobuf.Empty) {
option (google.api.http) = { delete: "/v1/photo/{photo_id}" };
}
// Deletes a list of photos and their metadata.
//
// Note that if `photos.batchDelete` fails, either critical fields
// are missing or there was an authentication error.
// Even if `photos.batchDelete` succeeds, there may have been
// failures for single photos in the batch. These failures will be specified
// in `BatchDeletePhotosResponse.status`.
// See `photo.update` for specific failures that will occur per photo.
rpc BatchDeletePhotos(BatchDeletePhotosRequest) returns (BatchDeletePhotosResponse) {
option (google.api.http) = { post: "/v1/photos:batchDelete" body: "*" };
}
}