doc_repo.dart 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import 'package:dartz/dartz.dart';
  2. import 'package:flowy_sdk/dispatch/dispatch.dart';
  3. import 'package:flowy_sdk/protobuf/flowy-editor/doc_create.pb.dart';
  4. import 'package:flowy_sdk/protobuf/flowy-editor/doc_modify.pb.dart';
  5. import 'package:flowy_sdk/protobuf/flowy-editor/doc_query.pb.dart';
  6. import 'package:flowy_sdk/protobuf/flowy-editor/errors.pb.dart';
  7. class DocRepository {
  8. final String docId;
  9. DocRepository({
  10. required this.docId,
  11. });
  12. Future<Either<DocInfo, EditorError>> createDoc(
  13. {required String name, String? desc}) {
  14. final request = CreateDocRequest(id: docId, name: name, desc: desc);
  15. return EditorEventCreateDoc(request).send();
  16. }
  17. Future<Either<DocInfo, EditorError>> readDoc() {
  18. final request = QueryDocRequest.create()..docId = docId;
  19. return EditorEventReadDocInfo(request).send();
  20. }
  21. Future<Either<DocData, EditorError>> readDocData(String path) {
  22. final request = QueryDocDataRequest.create()
  23. ..docId = docId
  24. ..path = path;
  25. return EditorEventReadDocData(request).send();
  26. }
  27. Future<Either<Unit, EditorError>> updateDoc(
  28. {String? name, String? desc, String? text}) {
  29. final request = UpdateDocRequest(id: docId, name: name, text: text);
  30. return EditorEventUpdateDoc(request).send();
  31. }
  32. Future<Either<Unit, EditorError>> closeDoc(
  33. {String? name, String? desc, String? text}) {
  34. throw UnimplementedError();
  35. }
  36. }