From 04bfccb868b648b22cf9581726d6bf0f9ab99d24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=BC=D0=B8=D1=82=D1=80=D0=B8=D0=B9?= Date: Fri, 8 May 2026 16:22:00 +0300 Subject: [PATCH] add media proto file --- package.json | 2 +- proto/media/media.proto | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 proto/media/media.proto diff --git a/package.json b/package.json index 30906e6..4acc11d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lendry-erp/contracts", - "version": "1.2.40", + "version": "1.2.41", "description": "Protobuf definitions and generated TypeScript types", "type": "commonjs", "main": "./dist/index.js", diff --git a/proto/media/media.proto b/proto/media/media.proto new file mode 100644 index 0000000..9246093 --- /dev/null +++ b/proto/media/media.proto @@ -0,0 +1,33 @@ +// contracts/proto/media/v1/media.proto +syntax = "proto3"; + +package media.v1; + +option go_package = "git.lendry.ru/lendry-erp/proto.git/go;pb"; + +service MediaService { + // Загрузка файла + rpc Upload(UploadRequest) returns (UploadResponse); + // Генерация временной ссылки для скачивания/просмотра + rpc GetPresignedUrl(GetPresignedUrlRequest) returns (GetPresignedUrlResponse); +} + +message UploadRequest { + string file_name = 1; + bytes data = 2; // Сами байты файла + string mode = 3; // "avatar", "chat", "raw" +} + +message UploadResponse { + string file_name = 1; + int64 size = 2; +} + +message GetPresignedUrlRequest { + string file_name = 1; + bool is_public = 2; // Если true, ссылка живет 24 часа, иначе 2 минуты +} + +message GetPresignedUrlResponse { + string url = 1; +} \ No newline at end of file