30 lines
1022 B
Dart
Raw Normal View History

import 'package:dartz/dartz.dart';
import 'package:flowy_sdk/dispatch/dispatch.dart';
2022-03-19 16:52:28 +08:00
2022-07-04 15:00:54 +08:00
import 'package:flowy_sdk/protobuf/flowy-folder/view.pb.dart';
2021-12-14 18:04:51 +08:00
import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
import 'package:flowy_sdk/protobuf/flowy-sync/text_block.pb.dart';
class DocumentService {
Future<Either<TextBlockDeltaPB, FlowyError>> openDocument({
2022-03-06 09:03:02 +08:00
required String docId,
2022-03-06 21:22:42 +08:00
}) async {
2022-07-19 14:11:29 +08:00
await FolderEventSetLatestView(ViewIdPB(value: docId)).send();
2022-03-06 21:22:42 +08:00
final payload = TextBlockIdPB(value: docId);
2022-06-05 18:56:45 +08:00
return TextBlockEventGetBlockData(payload).send();
2021-07-24 14:05:49 +08:00
}
Future<Either<TextBlockDeltaPB, FlowyError>> composeDelta({required String docId, required String data}) {
final payload = TextBlockDeltaPB.create()
2022-03-01 21:09:52 +08:00
..blockId = docId
2022-03-06 09:03:02 +08:00
..deltaStr = data;
2022-06-05 18:56:45 +08:00
return TextBlockEventApplyDelta(payload).send();
2021-09-11 21:30:58 +08:00
}
Future<Either<Unit, FlowyError>> closeDocument({required String docId}) {
2022-07-19 14:11:29 +08:00
final request = ViewIdPB(value: docId);
return FolderEventCloseView(request).send();
2021-07-24 09:57:17 +08:00
}
}