| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | 
							- import 'package:dartz/dartz.dart';
 
- import 'package:app_flowy/workspace/domain/i_user.dart';
 
- import 'package:app_flowy/workspace/infrastructure/repos/user_repo.dart';
 
- export 'package:app_flowy/workspace/domain/i_user.dart';
 
- export 'package:app_flowy/workspace/infrastructure/repos/user_repo.dart';
 
- class IUserImpl extends IUser {
 
-   UserRepo repo;
 
-   IUserImpl({
 
-     required this.repo,
 
-   });
 
-   @override
 
-   Future<Either<Unit, WorkspaceError>> deleteWorkspace(String workspaceId) {
 
-     return repo.deleteWorkspace(workspaceId: workspaceId);
 
-   }
 
-   @override
 
-   Future<Either<UserDetail, UserError>> fetchUserDetail(String userId) {
 
-     return repo.fetchUserDetail(userId: userId);
 
-   }
 
-   @override
 
-   Future<Either<Unit, UserError>> signOut() {
 
-     return repo.signOut();
 
-   }
 
-   @override
 
-   UserDetail get user => repo.user;
 
-   @override
 
-   Future<Either<List<Workspace>, WorkspaceError>> fetchWorkspaces() {
 
-     return repo.fetchWorkspaces();
 
-   }
 
- }
 
- class IUserWatchImpl extends IUserWatch {
 
-   UserWatchRepo repo;
 
-   IUserWatchImpl({
 
-     required this.repo,
 
-   });
 
-   @override
 
-   void startWatching(
 
-       {UserCreateWorkspaceCallback? createWorkspaceCallback,
 
-       UserDeleteWorkspaceCallback? deleteWorkspaceCallback}) {
 
-     repo.startWatching(
 
-         createWorkspace: createWorkspaceCallback,
 
-         deleteWorkspace: deleteWorkspaceCallback);
 
-   }
 
-   @override
 
-   Future<void> stopWatching() async {
 
-     await repo.close();
 
-   }
 
- }
 
 
  |