Nathan.fooo 4fa39f298c
fix: ref view in document (#2685)
* fix: remove set ref view in document as the current view

* ci: fix tests

* ci: fix tauri build
2023-06-03 13:40:12 +08:00

50 lines
1.6 KiB
Dart

import 'package:dartz/dartz.dart';
import 'package:appflowy_backend/dispatch/dispatch.dart';
import 'package:appflowy_backend/protobuf/flowy-folder2/view.pb.dart';
import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
import 'package:appflowy_backend/protobuf/flowy-document2/entities.pb.dart';
class DocumentService {
// unused now.
Future<Either<FlowyError, Unit>> createDocument({
required ViewPB view,
}) async {
final canOpen = await openDocument(view: view);
if (canOpen.isRight()) {
return const Right(unit);
}
final payload = CreateDocumentPayloadPB()..documentId = view.id;
final result = await DocumentEventCreateDocument(payload).send();
return result.swap();
}
Future<Either<FlowyError, DocumentDataPB>> openDocument({
required ViewPB view,
}) async {
final payload = OpenDocumentPayloadPB()..documentId = view.id;
final result = await DocumentEventOpenDocument(payload).send();
return result.swap();
}
Future<Either<FlowyError, Unit>> closeDocument({
required ViewPB view,
}) async {
final payload = CloseDocumentPayloadPB()..documentId = view.id;
final result = await DocumentEventCloseDocument(payload).send();
return result.swap();
}
Future<Either<FlowyError, Unit>> applyAction({
required String documentId,
required Iterable<BlockActionPB> actions,
}) async {
final payload = ApplyActionPayloadPB(
documentId: documentId,
actions: actions,
);
final result = await DocumentEventApplyAction(payload).send();
return result.swap();
}
}