doc_service.dart 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. import 'package:dartz/dartz.dart';
  2. import 'package:flowy_sdk/dispatch/dispatch.dart';
  3. import 'package:flowy_sdk/protobuf/flowy-folder/view.pb.dart';
  4. import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
  5. import 'package:flowy_sdk/protobuf/flowy-sync/document.pb.dart';
  6. import 'package:flowy_sdk/protobuf/flowy-document/entities.pb.dart';
  7. class DocumentService {
  8. Future<Either<DocumentSnapshotPB, FlowyError>> openDocument({
  9. required String docId,
  10. }) async {
  11. await FolderEventSetLatestView(ViewIdPB(value: docId)).send();
  12. final payload = DocumentIdPB(value: docId);
  13. return DocumentEventGetDocument(payload).send();
  14. }
  15. Future<Either<Unit, FlowyError>> applyEdit({
  16. required String docId,
  17. required String operations,
  18. }) {
  19. final payload = EditPayloadPB.create()
  20. ..docId = docId
  21. ..operations = operations;
  22. return DocumentEventApplyEdit(payload).send();
  23. }
  24. Future<Either<Unit, FlowyError>> closeDocument({required String docId}) {
  25. final request = ViewIdPB(value: docId);
  26. return FolderEventCloseView(request).send();
  27. }
  28. }