share_service.dart 1005 B

1234567891011121314151617181920212223242526272829303132
  1. import 'dart:async';
  2. import 'package:dartz/dartz.dart';
  3. import 'package:appflowy_backend/dispatch/dispatch.dart';
  4. import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
  5. import 'package:appflowy_backend/protobuf/flowy-document/protobuf.dart';
  6. import 'package:appflowy_backend/protobuf/flowy-folder/view.pb.dart';
  7. class ShareService {
  8. Future<Either<ExportDataPB, FlowyError>> export(
  9. ViewPB view,
  10. ExportType type,
  11. ) {
  12. var payload = ExportPayloadPB.create()
  13. ..viewId = view.id
  14. ..exportType = type
  15. ..documentVersion = DocumentVersionPB.V1;
  16. return DocumentEventExportDocument(payload).send();
  17. }
  18. Future<Either<ExportDataPB, FlowyError>> exportText(ViewPB view) {
  19. return export(view, ExportType.Text);
  20. }
  21. Future<Either<ExportDataPB, FlowyError>> exportMarkdown(ViewPB view) {
  22. return export(view, ExportType.Markdown);
  23. }
  24. Future<Either<ExportDataPB, FlowyError>> exportURL(ViewPB view) {
  25. return export(view, ExportType.Link);
  26. }
  27. }