view_service.dart 944 B

12345678910111213141516171819202122232425262728293031
  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-folder/view.pb.dart';
  5. import 'package:appflowy_backend/protobuf/flowy-error/errors.pb.dart';
  6. class ViewService {
  7. Future<Either<ViewPB, FlowyError>> updateView(
  8. {required String viewId, String? name, String? desc}) {
  9. final request = UpdateViewPayloadPB.create()..viewId = viewId;
  10. if (name != null) {
  11. request.name = name;
  12. }
  13. if (desc != null) {
  14. request.desc = desc;
  15. }
  16. return FolderEventUpdateView(request).send();
  17. }
  18. Future<Either<Unit, FlowyError>> delete({required String viewId}) {
  19. final request = RepeatedViewIdPB.create()..items.add(viewId);
  20. return FolderEventDeleteView(request).send();
  21. }
  22. Future<Either<Unit, FlowyError>> duplicate({required ViewPB view}) {
  23. return FolderEventDuplicateView(view).send();
  24. }
  25. }