mirror of
https://github.com/anyproto/any-sync.git
synced 2025-06-10 10:00:49 +09:00
123 lines
2.5 KiB
Protocol Buffer
123 lines
2.5 KiB
Protocol Buffer
syntax = "proto3";
|
|
package filesync;
|
|
|
|
option go_package = "commonfile/fileproto";
|
|
|
|
enum ErrCodes {
|
|
Unexpected = 0;
|
|
CIDNotFound = 1;
|
|
Forbidden = 2;
|
|
SpaceLimitExceeded = 3;
|
|
QuerySizeExceeded = 4;
|
|
WrongHash = 5;
|
|
ErrorOffset = 200;
|
|
}
|
|
|
|
service File {
|
|
// BlockGet gets one block from a server
|
|
rpc BlockGet(BlockGetRequest) returns (BlockGetResponse);
|
|
// BlockPush pushes one block to a server
|
|
rpc BlockPush(BlockPushRequest) returns (BlockPushResponse);
|
|
// BlocksCheck checks is CIDs exists
|
|
rpc BlocksCheck(BlocksCheckRequest) returns (BlocksCheckResponse);
|
|
// BlocksBind binds CIDs to space
|
|
rpc BlocksBind(BlocksBindRequest) returns (BlocksBindResponse);
|
|
// FilesDelete deletes files by id
|
|
rpc FilesDelete(FilesDeleteRequest) returns (FilesDeleteResponse);
|
|
// FilesInfo return info by given files id
|
|
rpc FilesInfo(FilesInfoRequest) returns (FilesInfoResponse);
|
|
// Check checks the connection and credentials
|
|
rpc Check(CheckRequest) returns (CheckResponse);
|
|
// SpaceInfo returns usage, limit, etc about space
|
|
rpc SpaceInfo(SpaceInfoRequest) returns (SpaceInfoResponse);
|
|
}
|
|
|
|
message BlockGetRequest {
|
|
string spaceId = 1;
|
|
bytes cid = 2;
|
|
}
|
|
|
|
message BlockGetResponse {
|
|
bytes cid = 1;
|
|
bytes data = 2;
|
|
}
|
|
|
|
message BlockPushRequest {
|
|
string spaceId = 1;
|
|
string fileId = 2;
|
|
bytes cid = 3;
|
|
bytes data = 4;
|
|
}
|
|
|
|
message BlockPushResponse {}
|
|
|
|
|
|
message BlocksCheckRequest {
|
|
string spaceId = 1;
|
|
repeated bytes cids = 2;
|
|
}
|
|
|
|
message BlocksCheckResponse {
|
|
repeated BlockAvailability blocksAvailability = 1;
|
|
}
|
|
|
|
message BlockAvailability {
|
|
bytes cid = 1;
|
|
AvailabilityStatus status = 2;
|
|
}
|
|
|
|
enum AvailabilityStatus {
|
|
NotExists = 0;
|
|
Exists = 1;
|
|
ExistsInSpace = 2;
|
|
}
|
|
|
|
message BlocksBindRequest {
|
|
string spaceId = 1;
|
|
string fileId = 2;
|
|
repeated bytes cids = 3;
|
|
}
|
|
|
|
message BlocksBindResponse {}
|
|
|
|
|
|
message FilesDeleteRequest {
|
|
string spaceId = 1;
|
|
repeated string fileIds = 2;
|
|
}
|
|
|
|
message FilesDeleteResponse {}
|
|
|
|
message FilesInfoRequest {
|
|
string spaceId = 1;
|
|
repeated string fileIds = 2;
|
|
}
|
|
|
|
message FilesInfoResponse {
|
|
repeated FileInfo filesInfo = 1;
|
|
}
|
|
|
|
message FileInfo {
|
|
string fileId = 1;
|
|
uint64 usageBytes = 2;
|
|
uint32 cidsCount = 3;
|
|
}
|
|
|
|
message CheckRequest {}
|
|
|
|
message CheckResponse {
|
|
repeated string spaceIds = 1;
|
|
bool allowWrite = 2;
|
|
}
|
|
|
|
message SpaceInfoRequest {
|
|
string spaceId = 1;
|
|
}
|
|
|
|
message SpaceInfoResponse {
|
|
uint64 limitBytes = 1;
|
|
uint64 usageBytes = 2;
|
|
uint64 cidsCount = 3;
|
|
uint64 filesCount = 4;
|
|
}
|
|
|