doc_repo.dart 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. import 'package:dartz/dartz.dart';
  2. import 'package:flowy_log/flowy_log.dart';
  3. import 'package:flowy_sdk/dispatch/dispatch.dart';
  4. import 'package:flowy_sdk/protobuf/flowy-document/doc.pb.dart';
  5. import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
  6. import 'package:flowy_sdk/protobuf/flowy-workspace/view_query.pb.dart';
  7. class DocRepository {
  8. final String docId;
  9. DocRepository({
  10. required this.docId,
  11. });
  12. Future<Either<DocDelta, WorkspaceError>> readDoc() {
  13. final request = OpenViewRequest.create()..viewId = docId;
  14. return WorkspaceEventOpenView(request).send();
  15. }
  16. Future<Either<DocDelta, WorkspaceError>> composeDelta(
  17. {required String data}) {
  18. final request = DocDelta.create()
  19. ..docId = docId
  20. ..data = data;
  21. return WorkspaceEventApplyDocDelta(request).send();
  22. }
  23. Future<Either<Unit, WorkspaceError>> closeDoc(
  24. {String? name, String? desc, String? text}) {
  25. Log.error('Close the doc');
  26. return Future(() {
  27. return left(unit);
  28. });
  29. }
  30. }