diff --git a/proto/images/images.proto b/proto/images/images.proto index 6413038b16bc8caab298768de8070a4142d23c60..7e2c35299d5c3229d48d7149e75b7a7f68ab494a 100644 --- a/proto/images/images.proto +++ b/proto/images/images.proto @@ -14,14 +14,28 @@ message Command { message GetRequest { message GetOptions { - repeated Command commands = 1; - // TODO Добавить описание для полей - optional string preset = 2; - optional string format = 3; - optional int32 quality = 4; - optional string hint = 5; - optional string resampling = 6; - optional bool no_cache = 7; + reserved 1; + + // Команды, которые будут применены к изображению. + repeated Command commands = 2; + + // Название пресета, предустановленные параметры которого будут использоваться по умолчанию. + optional string preset = 3; + + // Целевой формат изображения, в который будет преобразовано исходное изображение. + 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; @@ -35,14 +49,21 @@ message GetResponse { // ImageService - сервис для обработки изображений service Images { - // TODO Обновить комментарии - // Get - к файлу, идентификатор которого передан в запросе, применяются параметры. - // Может быть передано несколько параметров, порядок учитывается при обработке - // Допустимые операции: - // - crop (ширина, высота) - // - fit (ширина, высота) - // - resize (ширина, высота) - // - format (один из форматов [ png, jpeg, jpg, gif ] + // Применяет переданные команды и параметры к файлу, идентификатор которого передан в запросе. + // + // Команды выполняются в порядке их передачи. + // Поддерживаемые команды: + // - crop (ширина, высота, режим масштабирования (опционально)) + // - fit (ширина, высота, режим масштабирования (опционально)) + // - resize (ширина, высота, режим масштабирования (опционально)) + // - format (один из форматов: jpeg, png, gif, tiff, bmp) + // Параметры команды должны быть разделены знаком тире (-). + + // Размеры могут быть указаны в следующих форматах: + // - 128-128 (старый формат) + // - 128x128 (новый формат) + // - 128x (только ширина) + // - x128 (только высота) // Возвращает объект File с заполненным полем File.URL rpc Get(GetRequest) returns(GetResponse) {} }