1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- 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-document/entities.pb.dart';
- import 'package:appflowy_backend/protobuf/flowy-document2/entities.pb.dart';
- class DocumentService {
- Future<Either<DocumentDataPB, FlowyError>> openDocument({
- required ViewPB view,
- }) async {
- await FolderEventSetLatestView(ViewIdPB(value: view.id)).send();
- final payload = OpenDocumentPayloadPB()
- ..documentId = view.id
- ..version = DocumentVersionPB.V1;
- // switch (view.dataFormat) {
- // case ViewDataFormatPB.DeltaFormat:
- // payload.documentVersion = DocumentVersionPB.V0;
- // break;
- // default:
- // break;
- // }
- return DocumentEventGetDocument(payload).send();
- }
- Future<Either<Unit, FlowyError>> applyEdit({
- required String docId,
- required String operations,
- }) {
- final payload = EditPayloadPB.create()
- ..docId = docId
- ..operations = operations;
- return DocumentEventApplyEdit(payload).send();
- }
- Future<Either<Unit, FlowyError>> closeDocument({required String docId}) {
- final payload = ViewIdPB(value: docId);
- return FolderEventCloseView(payload).send();
- }
- Future<Either<DocumentDataPB2, FlowyError>> openDocumentV2({
- required ViewPB view,
- }) async {
- await FolderEventSetLatestView(ViewIdPB(value: view.id)).send();
- final payload = OpenDocumentPayloadPBV2()..documentId = view.id;
- return DocumentEvent2OpenDocument(payload).send();
- }
- Future<Either<Unit, FlowyError>> closeDocumentV2({
- required ViewPB view,
- }) async {
- final payload = CloseDocumentPayloadPBV2()..documentId = view.id;
- return DocumentEvent2CloseDocument(payload).send();
- }
- Future<Either<Unit, FlowyError>> applyAction({
- required ViewPB view,
- required List<BlockActionPB> actions,
- }) async {
- final payload = ApplyActionPayloadPBV2(
- documentId: view.id,
- actions: actions,
- );
- return DocumentEvent2ApplyAction(payload).send();
- }
- }
|