view_service.dart 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import 'dart:async';
  2. import 'package:dartz/dartz.dart';
  3. import 'package:flowy_sdk/dispatch/dispatch.dart';
  4. import 'package:flowy_sdk/protobuf/flowy-folder-data-model/view.pb.dart';
  5. import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
  6. class ViewService {
  7. Future<Either<View, FlowyError>> readView({required String viewId}) {
  8. final request = ViewId(value: viewId);
  9. return FolderEventReadView(request).send();
  10. }
  11. Future<Either<View, FlowyError>> updateView({required String viewId, String? name, String? desc}) {
  12. final request = UpdateViewPayload.create()..viewId = viewId;
  13. if (name != null) {
  14. request.name = name;
  15. }
  16. if (desc != null) {
  17. request.desc = desc;
  18. }
  19. return FolderEventUpdateView(request).send();
  20. }
  21. Future<Either<Unit, FlowyError>> delete({required String viewId}) {
  22. final request = RepeatedViewId.create()..items.add(viewId);
  23. return FolderEventDeleteView(request).send();
  24. }
  25. Future<Either<Unit, FlowyError>> duplicate({required String viewId}) {
  26. final request = ViewId(value: viewId);
  27. return FolderEventDuplicateView(request).send();
  28. }
  29. }