doc_repo.dart 958 B

1234567891011121314151617181920212223242526272829
  1. import 'package:dartz/dartz.dart';
  2. import 'package:flowy_sdk/dispatch/dispatch.dart';
  3. import 'package:flowy_sdk/protobuf/flowy-collaboration/document_info.pb.dart';
  4. import 'package:flowy_sdk/protobuf/flowy-folder-data-model/view.pb.dart';
  5. import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
  6. class DocRepository {
  7. final String docId;
  8. DocRepository({
  9. required this.docId,
  10. });
  11. Future<Either<DocumentDelta, FlowyError>> readDoc() {
  12. final request = QueryViewRequest(viewIds: [docId]);
  13. return FolderEventOpenDocument(request).send();
  14. }
  15. Future<Either<DocumentDelta, FlowyError>> composeDelta({required String data}) {
  16. final request = DocumentDelta.create()
  17. ..docId = docId
  18. ..deltaJson = data;
  19. return FolderEventApplyDocDelta(request).send();
  20. }
  21. Future<Either<Unit, FlowyError>> closeDoc() {
  22. final request = QueryViewRequest(viewIds: [docId]);
  23. return FolderEventCloseView(request).send();
  24. }
  25. }