mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
remove workspace interface
This commit is contained in:
parent
6e8c3c821a
commit
aaca3ba90d
@ -1,6 +1,6 @@
|
||||
import 'dart:async';
|
||||
import 'package:app_flowy/workspace/domain/i_workspace.dart';
|
||||
import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
|
||||
import 'package:app_flowy/workspace/infrastructure/repos/workspace_repo.dart';
|
||||
import 'package:app_flowy/workspace/presentation/stack_page/blank/blank_page.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:flowy_log/flowy_log.dart';
|
||||
@ -12,9 +12,9 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
part 'menu_bloc.freezed.dart';
|
||||
|
||||
class MenuBloc extends Bloc<MenuEvent, MenuState> {
|
||||
final IWorkspace workspaceManager;
|
||||
final IWorkspaceListener listener;
|
||||
MenuBloc({required this.workspaceManager, required this.listener}) : super(MenuState.initial()) {
|
||||
final WorkspaceRepo repo;
|
||||
final WorkspaceListener listener;
|
||||
MenuBloc({required this.repo, required this.listener}) : super(MenuState.initial()) {
|
||||
on<MenuEvent>((event, emit) async {
|
||||
await event.map(
|
||||
initial: (e) async {
|
||||
@ -48,7 +48,7 @@ class MenuBloc extends Bloc<MenuEvent, MenuState> {
|
||||
}
|
||||
|
||||
Future<void> _performActionOnCreateApp(CreateApp event, Emitter<MenuState> emit) async {
|
||||
final result = await workspaceManager.createApp(name: event.name, desc: event.desc);
|
||||
final result = await repo.createApp(event.name, event.desc ?? "");
|
||||
result.fold(
|
||||
(app) => {},
|
||||
(error) {
|
||||
@ -60,7 +60,7 @@ class MenuBloc extends Bloc<MenuEvent, MenuState> {
|
||||
|
||||
// ignore: unused_element
|
||||
Future<void> _fetchApps(Emitter<MenuState> emit) async {
|
||||
final appsOrFail = await workspaceManager.getApps();
|
||||
final appsOrFail = await repo.getApps();
|
||||
emit(appsOrFail.fold(
|
||||
(apps) => state.copyWith(apps: some(apps)),
|
||||
(error) {
|
||||
|
@ -1,19 +0,0 @@
|
||||
import 'package:flowy_sdk/protobuf/flowy-folder-data-model/protobuf.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
|
||||
|
||||
typedef WorkspaceAppsChangedCallback = void Function(Either<List<App>, FlowyError> appsOrFail);
|
||||
|
||||
typedef WorkspaceUpdatedCallback = void Function(String name, String desc);
|
||||
|
||||
abstract class IWorkspace {
|
||||
Future<Either<App, FlowyError>> createApp({required String name, String? desc});
|
||||
|
||||
Future<Either<List<App>, FlowyError>> getApps();
|
||||
}
|
||||
|
||||
abstract class IWorkspaceListener {
|
||||
void start({WorkspaceAppsChangedCallback? addAppCallback, WorkspaceUpdatedCallback? updatedCallback});
|
||||
|
||||
Future<void> stop();
|
||||
}
|
@ -14,7 +14,6 @@ import 'package:app_flowy/workspace/domain/page_stack/page_stack.dart';
|
||||
import 'package:app_flowy/workspace/infrastructure/i_app_impl.dart';
|
||||
import 'package:app_flowy/workspace/infrastructure/i_doc_impl.dart';
|
||||
import 'package:app_flowy/workspace/infrastructure/i_trash_impl.dart';
|
||||
import 'package:app_flowy/workspace/infrastructure/i_workspace_impl.dart';
|
||||
import 'package:app_flowy/workspace/infrastructure/repos/app_repo.dart';
|
||||
import 'package:app_flowy/workspace/infrastructure/repos/doc_repo.dart';
|
||||
import 'package:app_flowy/workspace/infrastructure/repos/trash_repo.dart';
|
||||
@ -46,10 +45,8 @@ class HomeDepsResolver {
|
||||
(appId, _) => IAppListenerhImpl(repo: AppListenerRepository(appId: appId)));
|
||||
|
||||
//workspace
|
||||
getIt.registerFactoryParam<IWorkspace, UserProfile, String>(
|
||||
(user, workspaceId) => IWorkspaceImpl(repo: WorkspaceRepo(user: user, workspaceId: workspaceId)));
|
||||
getIt.registerFactoryParam<IWorkspaceListener, UserProfile, String>((user, workspaceId) =>
|
||||
IWorkspaceListenerImpl(repo: WorkspaceListenerRepo(user: user, workspaceId: workspaceId)));
|
||||
getIt.registerFactoryParam<WorkspaceListener, UserProfile, String>(
|
||||
(user, workspaceId) => WorkspaceListener(repo: WorkspaceListenerRepo(user: user, workspaceId: workspaceId)));
|
||||
|
||||
// View
|
||||
getIt.registerFactoryParam<IView, View, void>((view, _) => IViewImpl(repo: ViewRepository(view: view)));
|
||||
@ -72,8 +69,8 @@ class HomeDepsResolver {
|
||||
//Menu Bloc
|
||||
getIt.registerFactoryParam<MenuBloc, UserProfile, String>(
|
||||
(user, workspaceId) => MenuBloc(
|
||||
workspaceManager: getIt<IWorkspace>(param1: user, param2: workspaceId),
|
||||
listener: getIt<IWorkspaceListener>(param1: user, param2: workspaceId),
|
||||
repo: WorkspaceRepo(user: user, workspaceId: workspaceId),
|
||||
listener: getIt<WorkspaceListener>(param1: user, param2: workspaceId),
|
||||
),
|
||||
);
|
||||
|
||||
|
@ -1,46 +0,0 @@
|
||||
import 'package:app_flowy/workspace/domain/i_workspace.dart';
|
||||
import 'package:app_flowy/workspace/infrastructure/repos/workspace_repo.dart';
|
||||
import 'package:dartz/dartz.dart';
|
||||
import 'package:flowy_sdk/protobuf/flowy-folder-data-model/app.pb.dart';
|
||||
import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
|
||||
|
||||
export 'package:app_flowy/workspace/domain/i_workspace.dart';
|
||||
|
||||
class IWorkspaceImpl extends IWorkspace {
|
||||
WorkspaceRepo repo;
|
||||
IWorkspaceImpl({
|
||||
required this.repo,
|
||||
});
|
||||
|
||||
@override
|
||||
Future<Either<App, FlowyError>> createApp({required String name, String? desc}) {
|
||||
return repo.createApp(name, desc ?? "");
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Either<List<App>, FlowyError>> getApps() {
|
||||
return repo.getApps().then((result) {
|
||||
return result.fold(
|
||||
(apps) => left(apps),
|
||||
(error) => right(error),
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
class IWorkspaceListenerImpl extends IWorkspaceListener {
|
||||
WorkspaceListenerRepo repo;
|
||||
IWorkspaceListenerImpl({
|
||||
required this.repo,
|
||||
});
|
||||
|
||||
@override
|
||||
void start({WorkspaceAppsChangedCallback? addAppCallback, WorkspaceUpdatedCallback? updatedCallback}) {
|
||||
repo.startListening(appsChanged: addAppCallback, update: updatedCallback);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> stop() async {
|
||||
await repo.close();
|
||||
}
|
||||
}
|
@ -12,9 +12,7 @@ import 'package:flowy_sdk/protobuf/flowy-folder-data-model/workspace.pb.dart';
|
||||
import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
|
||||
import 'package:flowy_sdk/protobuf/flowy-folder/dart_notification.pb.dart';
|
||||
import 'package:flowy_sdk/rust_stream.dart';
|
||||
|
||||
import 'package:app_flowy/generated/locale_keys.g.dart';
|
||||
import 'package:app_flowy/workspace/domain/i_workspace.dart';
|
||||
|
||||
import 'helper.dart';
|
||||
|
||||
@ -26,9 +24,9 @@ class WorkspaceRepo {
|
||||
required this.workspaceId,
|
||||
});
|
||||
|
||||
Future<Either<App, FlowyError>> createApp(String appName, String desc) {
|
||||
Future<Either<App, FlowyError>> createApp(String name, String desc) {
|
||||
final request = CreateAppRequest.create()
|
||||
..name = appName
|
||||
..name = name
|
||||
..workspaceId = workspaceId
|
||||
..desc = desc;
|
||||
return FolderEventCreateApp(request).send();
|
||||
@ -127,3 +125,22 @@ class WorkspaceListenerRepo {
|
||||
// _update = null;
|
||||
}
|
||||
}
|
||||
|
||||
typedef WorkspaceAppsChangedCallback = void Function(Either<List<App>, FlowyError> appsOrFail);
|
||||
|
||||
typedef WorkspaceUpdatedCallback = void Function(String name, String desc);
|
||||
|
||||
class WorkspaceListener {
|
||||
WorkspaceListenerRepo repo;
|
||||
WorkspaceListener({
|
||||
required this.repo,
|
||||
});
|
||||
|
||||
void start({WorkspaceAppsChangedCallback? addAppCallback, WorkspaceUpdatedCallback? updatedCallback}) {
|
||||
repo.startListening(appsChanged: addAppCallback, update: updatedCallback);
|
||||
}
|
||||
|
||||
Future<void> stop() async {
|
||||
await repo.close();
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user