refactor: reorganize modules and add Linux build tooling
This commit is contained in:
122
module/base/cloud/proto/disk.proto
Normal file
122
module/base/cloud/proto/disk.proto
Normal file
@@ -0,0 +1,122 @@
|
||||
syntax = "proto3";
|
||||
package cloud;
|
||||
option go_package = ".;cloud";
|
||||
import "blocks.proto";
|
||||
|
||||
// 云盘目录服务
|
||||
service Disk {
|
||||
// 创建目录
|
||||
rpc CreateDir(CreateDirRequest) returns (StatusReply);
|
||||
// 获取目录详情
|
||||
rpc GetDir(IdentRequest) returns (CloudDiskDirItem);
|
||||
// 更新目录
|
||||
rpc UpdateDir(CloudDiskDirItem) returns (StatusReply);
|
||||
// 删除目录
|
||||
rpc DeleteDir(IdentRequest) returns (StatusReply);
|
||||
// 获取目录列表
|
||||
rpc ListDirs(FetchRequest) returns (ListDirsResponse);
|
||||
// 获取目录树
|
||||
rpc GetDirTree(IdentRequest) returns (CloudDiskDirItem);
|
||||
// 移动目录
|
||||
rpc MoveDir(MoveDirRequest) returns (StatusReply);
|
||||
|
||||
// 上传文件
|
||||
rpc UploadFile(CloudDiskFileRequest) returns (StatusReply);
|
||||
// 获取文件详情
|
||||
rpc GetFile(IdentRequest) returns (CloudDiskFileItem);
|
||||
// 更新文件
|
||||
rpc UpdateFile(CloudDiskFileItem) returns (StatusReply);
|
||||
// 删除文件
|
||||
rpc DeleteFile(IdentRequest) returns (StatusReply);
|
||||
// 获取文件列表
|
||||
rpc ListFiles(FetchRequest) returns (ListFilesResponse);
|
||||
// 移动文件
|
||||
rpc MoveFile(MoveFileRequest) returns (StatusReply);
|
||||
// 复制文件
|
||||
rpc CopyFile(CopyFileRequest) returns (StatusReply);
|
||||
// 搜索文件
|
||||
rpc SearchFiles(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; // 文件所属目录
|
||||
}
|
||||
Reference in New Issue
Block a user