123 lines
3.9 KiB
Protocol Buffer
123 lines
3.9 KiB
Protocol Buffer
syntax = "proto3";
|
|
package cloud;
|
|
option go_package = "bsm/full/module/base/cloud/pb;cloud";
|
|
import "module/base/cloud/proto/const.proto";
|
|
|
|
// 云盘目录服务
|
|
service Disk {
|
|
// 创建目录
|
|
rpc CreateDir(CreateDirRequest) returns (base_cloud_blocks.StatusReply);
|
|
// 获取目录详情
|
|
rpc GetDir(base_cloud_blocks.IdentRequest) returns (CloudDiskDirItem);
|
|
// 更新目录
|
|
rpc UpdateDir(CloudDiskDirItem) returns (base_cloud_blocks.StatusReply);
|
|
// 删除目录
|
|
rpc DeleteDir(base_cloud_blocks.IdentRequest) returns (base_cloud_blocks.StatusReply);
|
|
// 获取目录列表
|
|
rpc ListDirs(base_cloud_blocks.FetchRequest) returns (ListDirsResponse);
|
|
// 获取目录树
|
|
rpc GetDirTree(base_cloud_blocks.IdentRequest) returns (CloudDiskDirItem);
|
|
// 移动目录
|
|
rpc MoveDir(MoveDirRequest) returns (base_cloud_blocks.StatusReply);
|
|
|
|
// 上传文件
|
|
rpc UploadFile(CloudDiskFileRequest) returns (base_cloud_blocks.StatusReply);
|
|
// 获取文件详情
|
|
rpc GetFile(base_cloud_blocks.IdentRequest) returns (CloudDiskFileItem);
|
|
// 更新文件
|
|
rpc UpdateFile(CloudDiskFileItem) returns (base_cloud_blocks.StatusReply);
|
|
// 删除文件
|
|
rpc DeleteFile(base_cloud_blocks.IdentRequest) returns (base_cloud_blocks.StatusReply);
|
|
// 获取文件列表
|
|
rpc ListFiles(base_cloud_blocks.FetchRequest) returns (ListFilesResponse);
|
|
// 移动文件
|
|
rpc MoveFile(MoveFileRequest) returns (base_cloud_blocks.StatusReply);
|
|
// 复制文件
|
|
rpc CopyFile(CopyFileRequest) returns (base_cloud_blocks.StatusReply);
|
|
// 搜索文件
|
|
rpc SearchFiles(base_cloud_blocks.FetchRequest) returns (ListFilesResponse);
|
|
}
|
|
|
|
message CreateDirRequest {
|
|
uint64 cloud_id = 1;
|
|
string cloud_identity = 2;
|
|
uint64 parent_id = 3; // 支持嵌套目录
|
|
string name = 4; // 目录名称
|
|
string path = 5; // 完整路径
|
|
}
|
|
|
|
// 请求消息定义
|
|
message ListDirsResponse {
|
|
repeated CloudDiskDirItem dirs = 1;
|
|
int64 total = 2;
|
|
}
|
|
|
|
// 云盘目录模型
|
|
message CloudDiskDirItem {
|
|
uint64 id = 1;
|
|
string identity = 2;
|
|
uint64 parent_id = 3; // 支持嵌套目录
|
|
string name = 4; // 目录名称
|
|
string path = 5; // 完整路径
|
|
string created_at = 6;
|
|
string updated_at = 7;
|
|
|
|
// 自关联
|
|
CloudDiskDirItem parent = 8; // 父级目录
|
|
repeated CloudDiskDirItem subdirectories = 9; // 子级目录
|
|
repeated CloudDiskFileItem files = 10; // 文件
|
|
}
|
|
|
|
|
|
message MoveDirRequest {
|
|
uint64 id = 1;
|
|
uint64 new_parent_id = 2;
|
|
}
|
|
|
|
|
|
message ListFilesResponse {
|
|
repeated CloudDiskFileItem files = 1;
|
|
int64 total = 2;
|
|
}
|
|
|
|
message MoveFileRequest {
|
|
uint64 id = 1;
|
|
uint64 new_directory_id = 2;
|
|
}
|
|
|
|
message CopyFileRequest {
|
|
uint64 id = 1;
|
|
uint64 target_directory_id = 2;
|
|
string new_name = 3;
|
|
}
|
|
|
|
message CloudDiskFileRequest {
|
|
uint64 cloud_id = 1;
|
|
string cloud_identity = 2;
|
|
uint64 directory_id = 3; // 文件所属目录
|
|
string name = 4; // 文件名
|
|
string original_name = 5; // 原始文件名
|
|
int64 size = 6; // 文件大小 (bytes)
|
|
string mime_type = 7; // 文件类型
|
|
string storage_path = 8; // 实际存储路径
|
|
string hash = 9; // 文件哈希,用于去重
|
|
}
|
|
|
|
// 云盘文件
|
|
message CloudDiskFileItem {
|
|
uint64 id = 1;
|
|
string identity = 2;
|
|
uint64 directory_id = 3; // 文件所属目录
|
|
string name = 4; // 文件名
|
|
string original_name = 5; // 原始文件名
|
|
int64 size = 6; // 文件大小 (bytes)
|
|
string mime_type = 7; // 文件类型
|
|
string storage_path = 8; // 实际存储路径
|
|
string hash = 9; // 文件哈希,用于去重
|
|
string created_at = 10;
|
|
string updated_at = 11;
|
|
|
|
// 关联关系
|
|
CloudDiskDirItem directory = 12; // 文件所属目录
|
|
}
|