Skip to content
Snippets Groups Projects

Draft: Изменена спецификация Images, добавлены параметры получения изображений и команды для обработки

1 file
+ 37
16
Compare changes
  • Side-by-side
  • Inline
+ 37
16
@@ -14,14 +14,28 @@ message Command {
@@ -14,14 +14,28 @@ message Command {
message GetRequest {
message GetRequest {
message GetOptions {
message GetOptions {
repeated Command commands = 1;
reserved 1;
// TODO Добавить описание для полей
optional string preset = 2;
// Команды, которые будут применены к изображению.
optional string format = 3;
repeated Command commands = 2;
optional int32 quality = 4;
optional string hint = 5;
// Название пресета, предустановленные параметры которого будут использоваться по умолчанию.
optional string resampling = 6;
optional string preset = 3;
optional bool no_cache = 7;
 
// Целевой формат изображения, в который будет преобразовано исходное изображение.
 
optional string format = 4;
 
 
// Качество изображения. Значение от 1 до 100.
 
optional int32 quality = 5;
 
 
// Тип изображения для оптимизации. Поддерживается для форматов: webp.
 
optional string hint = 6;
 
 
// Режим масштабирования для команд, связанных с изменением размера изображения.
 
optional string resampling = 7;
 
 
// Флаг, указывающий, нужно ли сохранять изображение в кэше.
 
optional bool no_cache = 8;
}
}
files.File source = 1;
files.File source = 1;
@@ -35,14 +49,21 @@ message GetResponse {
@@ -35,14 +49,21 @@ message GetResponse {
// ImageService - сервис для обработки изображений
// ImageService - сервис для обработки изображений
service Images {
service Images {
// TODO Обновить комментарии
// Применяет переданные команды и параметры к файлу, идентификатор которого передан в запросе.
// Get - к файлу, идентификатор которого передан в запросе, применяются параметры.
//
// Может быть передано несколько параметров, порядок учитывается при обработке
// Команды выполняются в порядке их передачи.
// Допустимые операции:
// Поддерживаемые команды:
// - crop (ширина, высота)
// - crop (ширина, высота, режим масштабирования (опционально))
// - fit (ширина, высота)
// - fit (ширина, высота, режим масштабирования (опционально))
// - resize (ширина, высота)
// - resize (ширина, высота, режим масштабирования (опционально))
// - format (один из форматов [ png, jpeg, jpg, gif ]
// - format (один из форматов: jpeg, png, gif, tiff, bmp)
 
// Параметры команды должны быть разделены знаком тире (-).
 
 
// Размеры могут быть указаны в следующих форматах:
 
// - 128-128 (старый формат)
 
// - 128x128 (новый формат)
 
// - 128x (только ширина)
 
// - x128 (только высота)
// Возвращает объект File с заполненным полем File.URL
// Возвращает объект File с заполненным полем File.URL
rpc Get(GetRequest) returns(GetResponse) {}
rpc Get(GetRequest) returns(GetResponse) {}
}
}
Loading