import 'package:dartz/dartz.dart'; import 'package:flowy_sdk/dispatch/dispatch.dart'; import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart'; import 'package:flowy_sdk/protobuf/flowy-grid/block_entities.pb.dart'; import 'package:flowy_sdk/protobuf/flowy-grid/grid_entities.pb.dart'; import 'package:flowy_sdk/protobuf/flowy-grid/row_entities.pb.dart'; class RowFFIService { final String gridId; final String blockId; RowFFIService({ required this.gridId, required this.blockId, }); Future> createRow(String rowId) { final payload = CreateTableRowPayloadPB.create() ..gridId = gridId ..startRowId = rowId; return GridEventCreateTableRow(payload).send(); } Future> getRow(String rowId) { final payload = RowIdPB.create() ..gridId = gridId ..blockId = blockId ..rowId = rowId; return GridEventGetRow(payload).send(); } Future> deleteRow(String rowId) { final payload = RowIdPB.create() ..gridId = gridId ..blockId = blockId ..rowId = rowId; return GridEventDeleteRow(payload).send(); } Future> duplicateRow(String rowId) { final payload = RowIdPB.create() ..gridId = gridId ..blockId = blockId ..rowId = rowId; return GridEventDuplicateRow(payload).send(); } } class MoveRowFFIService { final String gridId; MoveRowFFIService({ required this.gridId, }); Future> moveRow({ required String fromRowId, required String toRowId, }) { var payload = MoveRowPayloadPB.create() ..viewId = gridId ..fromRowId = fromRowId ..toRowId = toRowId; return GridEventMoveRow(payload).send(); } }