document_repo.dart 946 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 DocumentRepository {
  7. final String docId;
  8. DocumentRepository({
  9. required this.docId,
  10. });
  11. Future<Either<DocumentDelta, FlowyError>> openDocument() {
  12. final request = ViewId(value: docId);
  13. return FolderEventOpenView(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>> closeDocument() {
  22. final request = ViewId(value: docId);
  23. return FolderEventCloseView(request).send();
  24. }
  25. }