doc_repo.dart 1023 B

123456789101112131415161718192021222324252627282930313233
  1. import 'dart:typed_data';
  2. import 'package:dartz/dartz.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. import 'package:flowy_sdk/protobuf/flowy-workspace/view_update.pb.dart';
  8. class DocRepository {
  9. final String docId;
  10. DocRepository({
  11. required this.docId,
  12. });
  13. Future<Either<Doc, WorkspaceError>> readDoc() {
  14. final request = OpenViewRequest.create()..viewId = docId;
  15. return WorkspaceEventOpenView(request).send();
  16. }
  17. Future<Either<Doc, WorkspaceError>> applyChangeset(
  18. {required Uint8List data}) {
  19. final request = DocDelta.create()
  20. ..docId = docId
  21. ..data = data;
  22. return WorkspaceEventApplyDocDelta(request).send();
  23. }
  24. Future<Either<Unit, WorkspaceError>> closeDoc(
  25. {String? name, String? desc, String? text}) {
  26. throw UnimplementedError();
  27. }
  28. }