doc_repo.dart 1.0 KB

1234567891011121314151617181920212223242526272829303132
  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<DocDescription, 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<Doc, EditorError>> readDoc() {
  18. final request = QueryDocRequest.create()..docId = docId;
  19. return EditorEventReadDoc(request).send();
  20. }
  21. Future<Either<Unit, EditorError>> updateDoc(
  22. {String? name, String? desc, String? text}) {
  23. final request = UpdateDocRequest(id: docId, name: name, text: text);
  24. return EditorEventUpdateDoc(request).send();
  25. }
  26. }