Remove obsolete gRPC client/server implementations and migrate to remote package
This commit is contained in:
@ -3,7 +3,7 @@ syntax = "proto3";
|
||||
package agate.grpc;
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "google/api/annotations.proto"; // Добавлено для HTTP mapping
|
||||
import "google/api/annotations.proto";
|
||||
|
||||
option go_package = "gitea.unprism.ru/KRBL/Agate/grpc";
|
||||
|
||||
@ -30,77 +30,59 @@ service SnapshotService {
|
||||
};
|
||||
}
|
||||
|
||||
// --- Методы для управления (опционально, можно не включать в публичный API клиента) ---
|
||||
// Создать новый снапшот из директории (если серверу позволено инициировать)
|
||||
// rpc CreateSnapshot(CreateSnapshotRequest) returns (Snapshot);
|
||||
// Удалить снапшот (если требуется)
|
||||
// rpc DeleteSnapshot(DeleteSnapshotRequest) returns (DeleteSnapshotResponse);
|
||||
// Скачать архив, содержащий только разницу между двумя снапшотами
|
||||
rpc DownloadSnapshotDiff(DownloadSnapshotDiffRequest) returns (stream DownloadFileResponse) {}
|
||||
}
|
||||
|
||||
// Метаданные файла внутри снапшота
|
||||
message FileInfo {
|
||||
string path = 1; // Относительный путь файла внутри снапшота
|
||||
int64 size_bytes = 2; // Размер файла в байтах
|
||||
string sha256_hash = 3; // Хеш-сумма файла (SHA256)
|
||||
bool is_dir = 4; // Является ли запись директорией
|
||||
string path = 1;
|
||||
int64 size_bytes = 2;
|
||||
string sha256_hash = 3;
|
||||
bool is_dir = 4;
|
||||
}
|
||||
|
||||
// Краткая информация о снапшоте
|
||||
message SnapshotInfo {
|
||||
string id = 1; // Уникальный ID снапшота (UUID)
|
||||
string name = 2; // Имя снапшота
|
||||
string parent_id = 3; // ID родительского снапшота (может быть пустым)
|
||||
google.protobuf.Timestamp creation_time = 4; // Время создания
|
||||
string id = 1;
|
||||
string name = 2;
|
||||
string parent_id = 3;
|
||||
google.protobuf.Timestamp creation_time = 4;
|
||||
}
|
||||
|
||||
// Детальная информация о снапшоте
|
||||
message SnapshotDetails {
|
||||
SnapshotInfo info = 1; // Краткая информация
|
||||
repeated FileInfo files = 2; // Список файлов в снапшоте
|
||||
SnapshotInfo info = 1;
|
||||
repeated FileInfo files = 2;
|
||||
}
|
||||
|
||||
// Запрос на получение списка снапшотов (можно добавить фильтры/пагинацию)
|
||||
message ListSnapshotsRequest {
|
||||
// string filter_by_name = 1;
|
||||
// int32 page_size = 2;
|
||||
// string page_token = 3;
|
||||
}
|
||||
// Запрос на получение списка снапшотов
|
||||
message ListSnapshotsRequest {}
|
||||
|
||||
// Ответ со списком снапшотов
|
||||
message ListSnapshotsResponse {
|
||||
repeated SnapshotInfo snapshots = 1;
|
||||
// string next_page_token = 2;
|
||||
}
|
||||
|
||||
// Запрос на получение деталей снапшота
|
||||
message GetSnapshotDetailsRequest {
|
||||
string snapshot_id = 1; // ID нужного снапшота
|
||||
string snapshot_id = 1;
|
||||
}
|
||||
|
||||
// Запрос на скачивание файла
|
||||
message DownloadFileRequest {
|
||||
string snapshot_id = 1; // ID снапшота
|
||||
string file_path = 2; // Путь к файлу внутри снапшота
|
||||
string snapshot_id = 1;
|
||||
string file_path = 2;
|
||||
}
|
||||
|
||||
// Ответ (часть файла) при скачивании
|
||||
message DownloadFileResponse {
|
||||
bytes chunk_data = 1; // Кусочек данных файла
|
||||
bytes chunk_data = 1;
|
||||
}
|
||||
|
||||
// --- Сообщения для опциональных методов управления ---
|
||||
/*
|
||||
message CreateSnapshotRequest {
|
||||
string source_path = 1; // Путь к директории на сервере
|
||||
string name = 2;
|
||||
string parent_id = 3; // Опционально
|
||||
// Запрос на скачивание разницы между снапшотами
|
||||
message DownloadSnapshotDiffRequest {
|
||||
string snapshot_id = 1; // ID целевого снапшота
|
||||
string local_parent_id = 2; // ID снапшота, который уже есть у клиента
|
||||
int64 offset = 3; // Смещение в байтах для докачки
|
||||
}
|
||||
|
||||
message DeleteSnapshotRequest {
|
||||
string snapshot_id = 1;
|
||||
}
|
||||
|
||||
message DeleteSnapshotResponse {
|
||||
bool success = 1;
|
||||
}
|
||||
*/
|
Reference in New Issue
Block a user