doc_repo.dart 1014 B

123456789101112131415161718192021222324252627282930313233
  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({required String data}) {
  17. final request = DocDelta.create()
  18. ..docId = docId
  19. ..data = data;
  20. return WorkspaceEventApplyDocDelta(request).send();
  21. }
  22. Future<Either<Unit, WorkspaceError>> closeDoc({String? name, String? desc, String? text}) {
  23. Log.error('Close the doc');
  24. return Future(() {
  25. return left(unit);
  26. });
  27. }
  28. }