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