87 lines
1.8 KiB
Protocol Buffer
Raw Normal View History

2022-03-02 21:12:21 +08:00
syntax = "proto3";
import "field.proto";
2022-03-02 21:12:21 +08:00
message Grid {
2022-03-04 08:22:49 +08:00
string id = 1;
2022-03-10 12:01:31 +08:00
repeated FieldOrder field_orders = 2;
2022-03-18 17:14:46 +08:00
repeated GridBlockOrder block_orders = 3;
2022-03-02 21:12:21 +08:00
}
message RowOrder {
2022-03-10 12:01:31 +08:00
string row_id = 1;
2022-03-13 11:06:28 +08:00
string block_id = 2;
2022-03-18 21:04:01 +08:00
int32 height = 3;
2022-03-02 21:12:21 +08:00
}
2022-03-04 08:22:49 +08:00
message Row {
string id = 1;
map<string, Cell> cell_by_field_id = 2;
2022-03-08 15:25:56 +08:00
int32 height = 3;
2022-03-04 08:22:49 +08:00
}
2022-03-18 17:14:46 +08:00
message RepeatedRow {
repeated Row items = 1;
}
2022-03-17 17:25:43 +08:00
message RepeatedGridBlock {
repeated GridBlock items = 1;
}
2022-03-18 17:14:46 +08:00
message GridBlockOrder {
string block_id = 1;
2022-04-10 08:25:01 +08:00
repeated RowOrder row_orders = 2;
2022-03-18 17:14:46 +08:00
}
2022-04-13 21:26:27 +08:00
message IndexRowOrder {
RowOrder row_order = 1;
oneof one_of_index { int32 index = 2; };
}
2022-04-25 08:13:09 +08:00
message UpdatedRowOrder {
RowOrder row_order = 1;
Row row = 2;
}
2022-04-13 14:24:54 +08:00
message GridRowsChangeset {
string block_id = 1;
repeated IndexRowOrder inserted_rows = 2;
repeated RowOrder deleted_rows = 3;
2022-04-25 08:13:09 +08:00
repeated UpdatedRowOrder updated_rows = 4;
}
2022-03-17 17:25:43 +08:00
message GridBlock {
2022-03-20 17:17:06 +08:00
string id = 1;
2022-03-18 21:04:01 +08:00
repeated RowOrder row_orders = 2;
2022-03-10 12:01:31 +08:00
}
2022-03-04 08:22:49 +08:00
message Cell {
2022-03-13 11:06:28 +08:00
string field_id = 1;
bytes data = 2;
2022-03-02 21:12:21 +08:00
}
2022-03-16 21:19:51 +08:00
message RepeatedCell {
repeated Cell items = 1;
}
2022-03-02 22:43:04 +08:00
message CreateGridPayload {
string name = 1;
}
message GridId {
string value = 1;
}
2022-03-17 17:25:43 +08:00
message GridBlockId {
string value = 1;
}
message CreateRowPayload {
string grid_id = 1;
2022-03-18 17:14:46 +08:00
oneof one_of_start_row_id { string start_row_id = 2; };
}
2022-03-17 17:25:43 +08:00
message QueryGridBlocksPayload {
2022-03-05 17:52:25 +08:00
string grid_id = 1;
2022-03-18 17:14:46 +08:00
repeated GridBlockOrder block_orders = 2;
}
2022-04-13 14:24:54 +08:00
message MoveItemPayload {
string grid_id = 1;
string item_id = 2;
int32 from_index = 3;
int32 to_index = 4;
MoveItemType ty = 5;
}
message CellChangeset {
string grid_id = 1;
string row_id = 2;
string field_id = 3;
2022-05-11 11:34:13 +08:00
oneof one_of_cell_content_changeset { string cell_content_changeset = 4; };
}
2022-04-13 14:24:54 +08:00
enum MoveItemType {
MoveField = 0;
MoveRow = 1;
}