i_app_impl.dart 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import 'package:dartz/dartz.dart';
  2. import 'package:flowy_sdk/protobuf/flowy-workspace/app_create.pb.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:app_flowy/home/infrastructure/app_repo.dart';
  6. import 'package:flowy_sdk/protobuf/flowy-workspace/view_create.pb.dart';
  7. export 'package:app_flowy/home/domain/i_app.dart';
  8. class IAppImpl extends IApp {
  9. AppRepository repo;
  10. IAppImpl({
  11. required this.repo,
  12. });
  13. @override
  14. Future<Either<App, WorkspaceError>> createApp(
  15. {required String name, String? desc}) {
  16. return repo.createApp(name, desc ?? "");
  17. }
  18. @override
  19. Future<Either<List<App>, WorkspaceError>> getApps(
  20. {required String workspaceId}) {
  21. return repo.getApps(workspaceId: workspaceId);
  22. }
  23. @override
  24. Future<Either<List<View>, WorkspaceError>> getViews({required String appId}) {
  25. return repo.getViews(appId: appId);
  26. }
  27. @override
  28. Future<Either<View, WorkspaceError>> createView(
  29. {required String appId,
  30. required String name,
  31. String? desc,
  32. required ViewTypeIdentifier viewType}) {
  33. return repo.createView(appId, name, desc ?? "", viewType);
  34. }
  35. }