doc_service.dart 1021 B

1234567891011121314151617181920212223242526272829
  1. import 'package:dartz/dartz.dart';
  2. import 'package:flowy_sdk/dispatch/dispatch.dart';
  3. import 'package:flowy_sdk/protobuf/flowy-folder-data-model/view.pb.dart';
  4. import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
  5. import 'package:flowy_sdk/protobuf/flowy-sync/text_block.pb.dart';
  6. class DocumentService {
  7. Future<Either<TextBlockDelta, FlowyError>> openDocument({
  8. required String docId,
  9. }) async {
  10. await FolderEventSetLatestView(ViewId(value: docId)).send();
  11. final payload = TextBlockId(value: docId);
  12. return TextBlockEventGetBlockData(payload).send();
  13. }
  14. Future<Either<TextBlockDelta, FlowyError>> composeDelta({required String docId, required String data}) {
  15. final payload = TextBlockDelta.create()
  16. ..blockId = docId
  17. ..deltaStr = data;
  18. return TextBlockEventApplyDelta(payload).send();
  19. }
  20. Future<Either<Unit, FlowyError>> closeDocument({required String docId}) {
  21. final request = ViewId(value: docId);
  22. return FolderEventCloseView(request).send();
  23. }
  24. }