20 lines
696 B
Dart
Raw Normal View History

import 'package:flowy_sdk/protobuf/flowy-workspace-infra/protobuf.dart';
2021-07-21 17:05:51 +08:00
import 'package:dartz/dartz.dart';
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
2021-07-21 17:05:51 +08:00
2021-10-30 17:19:50 +08:00
typedef WorkspaceAppsChangedCallback = void Function(Either<List<App>, WorkspaceError> appsOrFail);
2021-07-21 22:41:44 +08:00
typedef WorkspaceUpdatedCallback = void Function(String name, String desc);
2021-07-21 17:05:51 +08:00
abstract class IWorkspace {
Future<Either<App, WorkspaceError>> createApp({required String name, String? desc});
2021-07-21 17:05:51 +08:00
Future<Either<List<App>, WorkspaceError>> getApps();
}
2021-07-21 22:41:44 +08:00
abstract class IWorkspaceListener {
2021-10-30 17:19:50 +08:00
void start({WorkspaceAppsChangedCallback? addAppCallback, WorkspaceUpdatedCallback? updatedCallback});
2021-07-21 22:41:44 +08:00
Future<void> stop();
2021-07-21 17:05:51 +08:00
}