i_app_impl.dart 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import 'package:app_flowy/workspace/infrastructure/repos/app_repo.dart';
  2. import 'package:dartz/dartz.dart';
  3. import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
  4. import 'package:app_flowy/workspace/domain/i_app.dart';
  5. import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
  6. export 'package:app_flowy/workspace/domain/i_app.dart';
  7. class IAppImpl extends IApp {
  8. AppRepository repo;
  9. IAppImpl({
  10. required this.repo,
  11. });
  12. @override
  13. Future<Either<List<View>, WorkspaceError>> getViews() {
  14. return repo.getViews();
  15. }
  16. @override
  17. Future<Either<View, WorkspaceError>> createView(
  18. {required String name, String? desc, required ViewType viewType}) {
  19. return repo.createView(name, desc ?? "", viewType);
  20. }
  21. }
  22. class IAppWatchImpl extends IAppWatch {
  23. AppWatchRepository repo;
  24. IAppWatchImpl({
  25. required this.repo,
  26. });
  27. @override
  28. void startWatching(
  29. {AppAddViewCallback? addViewCallback,
  30. AppUpdatedCallback? updatedCallback}) {
  31. repo.startWatching(
  32. addViewCallback: addViewCallback, updatedCallback: updatedCallback);
  33. }
  34. @override
  35. Future<void> stopWatching() async {
  36. await repo.close();
  37. }
  38. }