protofmt/testdata.proto

140 lines
3.6 KiB
Protocol Buffer

syntax = "proto3";
package api_services.v1;
option go_package = "filesaver/gen;genv1";
// @route_group: true
// @base_url: /v1/file
// @gen_to: ./services/controller/v1/file_controller.go
service FileService {
// @desc: 列表
// @author: Young Xu
// @method: GET
// @api: /list
rpc List (FileServiceListRequest) returns (FileServiceListResponse);
// @desc: 上传
// @author: Young Xu
// @method: POST
// @api: /upload
rpc Upload (FileServiceUploadRequest) returns (FileServiceUploadResponse);
// @desc: 删除
// @author: Young Xu
// @method: DELETE
// @api: /delete
rpc Delete (FileServiceDeleteRequest) returns (FileServiceDeleteResponse);
// @desc: 下载
// @author: Young Xu
// @method: GET
// @api: /download
rpc Download (FileServiceDownloadRequest) returns (FileServiceDownloadResponse);
}
message FileServiceListRequest {
string dirname = 1; // 目录
}
message FileServiceListResponse {
message Metadata {
string domain = 1; // 域名
}
message Item {
string file_id = 1; // 文件ID
string filename = 2; // 文件名
string file_size = 3; // 文件大小
string created_at = 4; // 上传时间
string dirname = 5; // 文件路径
bool is_directory = 6; // 是否是目录
}
repeated Item items = 1; // 列表
Metadata metadata = 2; // 元数据
}
message FileServiceUploadRequest {}
message FileServiceUploadResponse {}
message FileServiceDeleteRequest {
string file_id = 1; // 文件ID
string dirname = 2; // 文件夹
string filename = 3; // 文件名
}
message FileServiceDeleteResponse {}
message FileServiceDownloadRequest {
string file_id = 1; // 文件ID
string dirname = 2; // 文件夹
string filename = 3; // 文件名
}
message FileServiceDownloadResponse {}
// @route_group: true
// @base_url: /v1/setting
// @gen_to: ./services/controller/v1/setting_controller.go
service SettingService {
// @desc: 改变存储适配器
// @author: Young Xu
// @method: POST
// @api: /adapter
rpc SettingServiceChangeAdapter (SettingServiceChangeAdapterReq) returns (SettingServiceChangeAdapterResp);
// @desc: 改变存储适配器
// @author: Young Xu
// @method: POST
// @api: /cf_r2
rpc ConfigCloudFlareR2 (SettingServiceConfigCloudFlareR2Req) returns (SettingServiceConfigCloudFlareR2Resp);
// @desc: 获取cloudflare r2配置
// @author: Young Xu
// @method: GET
// @api: /cf_r2
rpc GetCloudFlareR2 (SettingServiceGetCloudFlareR2Req) returns (SettingServiceGetCloudFlareR2Resp);
// @desc: 获取适配器配置
// @author: Young Xu
// @method: GET
// @api: /adapter
rpc GetAdapter (SettingServiceGetAdapterReq) returns (SettingServiceGetAdapterResp);
}
message SettingServiceChangeAdapterReq {
string adapter = 1;
}
message SettingServiceChangeAdapterResp {}
message SettingServiceConfigCloudFlareR2Req {
string api_token = 1;
string user_email = 2;
string user_id = 3;
string bucket = 4;
string s3_api = 5;
string domain = 6;
string secret_id = 7;
string secret_key = 8;
}
message SettingServiceConfigCloudFlareR2Resp {}
message SettingServiceGetCloudFlareR2Req {}
message SettingServiceGetCloudFlareR2Resp {
string api_token = 1;
string user_email = 2;
string user_id = 3;
string bucket = 4;
string s3_api = 5;
string domain = 6;
string secret_id = 7;
string secret_key = 8;
}
message SettingServiceGetAdapterReq {}
message SettingServiceGetAdapterResp {
string adapter = 1;
}