i_app_impl.dart 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import 'package:app_flowy/home/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/home/domain/i_app.dart';
  5. import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
  6. export 'package:app_flowy/home/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({required String appId}) {
  14. return repo.getViews(appId: appId);
  15. }
  16. @override
  17. Future<Either<View, WorkspaceError>> createView(
  18. {required String appId,
  19. required String name,
  20. String? desc,
  21. required ViewType viewType}) {
  22. return repo.createView(appId, name, desc ?? "", viewType);
  23. }
  24. }
  25. class IAppWatchImpl extends IAppWatch {
  26. AppWatchRepository repo;
  27. IAppWatchImpl({
  28. required this.repo,
  29. });
  30. @override
  31. void startWatching(
  32. {AppAddViewCallback? addViewCallback,
  33. AppUpdatedCallback? updatedCallback}) {
  34. repo.startWatching(
  35. addViewCallback: addViewCallback, updatedCallback: updatedCallback);
  36. }
  37. @override
  38. Future<void> stopWatching() async {
  39. await repo.close();
  40. }
  41. }