2021-11-10 14:46:59 +08:00
|
|
|
import 'dart:async';
|
|
|
|
import 'package:dartz/dartz.dart';
|
2023-01-08 12:10:53 +08:00
|
|
|
import 'package:appflowy_backend/dispatch/dispatch.dart';
|
|
|
|
import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
|
|
|
|
import 'package:appflowy_backend/protobuf/flowy-document/protobuf.dart';
|
2023-04-04 08:41:16 +08:00
|
|
|
import 'package:appflowy_backend/protobuf/flowy-folder2/view.pb.dart';
|
2021-11-10 14:46:59 +08:00
|
|
|
|
2022-02-28 23:45:17 -05:00
|
|
|
class ShareService {
|
2022-10-13 23:29:37 +08:00
|
|
|
Future<Either<ExportDataPB, FlowyError>> export(
|
2023-04-10 15:10:42 +08:00
|
|
|
ViewPB view,
|
|
|
|
ExportType type,
|
|
|
|
) {
|
2022-10-22 21:57:44 +08:00
|
|
|
var payload = ExportPayloadPB.create()
|
|
|
|
..viewId = view.id
|
|
|
|
..exportType = type
|
|
|
|
..documentVersion = DocumentVersionPB.V1;
|
2021-11-10 14:46:59 +08:00
|
|
|
|
2022-10-22 21:57:44 +08:00
|
|
|
return DocumentEventExportDocument(payload).send();
|
2021-11-10 14:46:59 +08:00
|
|
|
}
|
2022-01-31 09:49:05 +08:00
|
|
|
|
2022-10-22 21:57:44 +08:00
|
|
|
Future<Either<ExportDataPB, FlowyError>> exportText(ViewPB view) {
|
|
|
|
return export(view, ExportType.Text);
|
2022-01-31 09:49:05 +08:00
|
|
|
}
|
|
|
|
|
2022-10-22 21:57:44 +08:00
|
|
|
Future<Either<ExportDataPB, FlowyError>> exportMarkdown(ViewPB view) {
|
|
|
|
return export(view, ExportType.Markdown);
|
2022-01-31 09:49:05 +08:00
|
|
|
}
|
|
|
|
|
2022-10-22 21:57:44 +08:00
|
|
|
Future<Either<ExportDataPB, FlowyError>> exportURL(ViewPB view) {
|
|
|
|
return export(view, ExportType.Link);
|
2022-01-31 09:49:05 +08:00
|
|
|
}
|
2021-11-10 14:46:59 +08:00
|
|
|
}
|