AppFlowy/shared-lib/flowy-grid-data-model/resources/proto/grid.proto

88 lines
1.8 KiB
Protocol Buffer
Raw Normal View History

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