// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Keep in sync with corresponding messages in :
// http://google3/google/chrome/webstore/v2/resources.proto
// http://google3/google/chrome/webstore/v2/item_service.proto
syntax = "proto3";
package extensions;
option optimize_for = LITE_RUNTIME;
// A Chrome Web Store (CWS) item's Store Metadata resource. Each item only has
// one StoreMetadata resource.
message StoreMetadata {
// Item store metadata resource name.
// Format: items/{itemId}/storeMetadata
string name = 1;
// The item is currently published in CWS.
bool is_live = 2;
// The publish time of the most recent version of the item. This is also the
// time displayed in the Chrome Web Store (CWS) item details page. The
// timestamp is relative to an epoch at UTC midnight on January 1, 1970.
int64 last_update_time_millis = 3;
// The violation type for which the item is taken down from CWS.
// Possible values are:
// none
// malware
// policy-violation
// minor-policy-violation
string violation_type = 4;
// Labels applied to this item by the Chrome Web Store (CWS) to provide
// additional item information. Possible values are:
// unpublished-long-ago
// no-privacy-practice
repeated string labels = 5;
}
message BatchGetStoreMetadatasRequest {
// The parent resource.
// Format: items/{item_id}
// Callers must specify a - (the hyphen or dash character) as a wildcard
// character. So, set parent="items/-".
string parent = 1;
// The names of the item store metadata to retrieve.
// A maximum of 100 item store metadata can be retrieved in a batch.
// Format: items/{item_id}/storeMetadata
repeated string names = 2;
}
message BatchGetStoreMetadatasResponse {
// The requested items’ store metadata. If an item is not found, it is not
// included in the response.
repeated StoreMetadata store_metadatas = 1;
}
// Request message for FetchItemSnippet.
message FetchItemSnippetRequest {
// The name of the item to retrieve.
// Format: items/{item_id}
// If no resource name is provided or the format is incorrect, the API returns
// error code INVALID_ARGUMENT.
string name = 1;
}
// Response message for FetchItemSnippet.
// The localized title and summary are based on the language of the client
// making the API request. If no client language is available, the language
// falls back to the item’s primary language.
message FetchItemSnippetResponse {
// Extension/item id.
string item_id = 1;
// Manifest string.
string manifest = 2;
// Localized title, which maps to the "name" field in the manifest.
string title = 3;
// Localized summary, which maps to the "description" field in the manifest.
string summary = 4;
// Logo uri.
string logo_uri = 5;
// Localized user count string.
string user_count_string = 6;
// User review rating count.
int64 rating_count = 7;
// Average user review rating.
double average_rating = 8;
// Localized user review rating count string.
string rating_count_string = 9;
// next tag: 10
}