FriendCloudProto/src/main/protobuf/ObjectStatements.proto

60 lines
1.1 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
package moe.nekojimi.friendcloud.protos;
import "CommonMessages.proto";
enum ObjectType {
OBJECT_TYPE_UNSPECIFIED = 0;
OBJECT_TYPE_USER = 1;
OBJECT_TYPE_PEER = 2;
OBJECT_TYPE_FILE = 3;
OBJECT_TYPE_FOLDER = 4;
}
message ObjectState {
uint64 object_id = 1;
map<string,string> values = 2;
}
message ObjectStateMessage {
repeated uint64 change_heads = 1;
repeated ObjectState states = 2;
}
message ObjectStateRequest {
repeated uint64 object_ids = 1;
repeated string keys = 2;
}
message ObjectChange {
2025-09-17 12:16:15 +01:00
uint64 object_id = 1;
map<string,string> before = 3;
map<string,string> after = 4;
}
message ObjectChangeMessage {
uint64 change_id = 1;
repeated uint64 change_heads = 2;
2025-09-17 12:16:15 +01:00
repeated ObjectChange changes = 3;
uint64 creator_id = 4;
uint64 timestamp_ms = 5;
2025-09-17 12:16:15 +01:00
}
message ObjectChangeListMessage {
repeated ObjectChangeMessage change_messages = 1;
}
message ObjectChangeRequest {
repeated uint64 changes_since = 1;
}
message ObjectList {
uint64 change_head = 1;
repeated ObjectState states = 2;
}
message ObjectListRequest {
repeated ObjectType types = 1;
}