2021-07-26 11:51:39 +08:00
|
|
|
import 'package:dartz/dartz.dart';
|
|
|
|
import 'package:flowy_sdk/dispatch/dispatch.dart';
|
|
|
|
import 'package:flowy_sdk/protobuf/flowy-user/errors.pb.dart';
|
|
|
|
import 'package:flowy_sdk/protobuf/flowy-user/user_detail.pb.dart';
|
2021-07-26 13:51:41 +08:00
|
|
|
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';
|
|
|
|
import 'package:flowy_sdk/protobuf/flowy-workspace/workspace_create.pb.dart';
|
2021-07-26 11:51:39 +08:00
|
|
|
|
|
|
|
class UserRepo {
|
|
|
|
final UserDetail user;
|
|
|
|
UserRepo({
|
|
|
|
required this.user,
|
|
|
|
});
|
|
|
|
|
|
|
|
Future<Either<UserDetail, UserError>> fetchUserDetail(
|
|
|
|
{required String userId}) {
|
|
|
|
return UserEventGetStatus().send();
|
|
|
|
}
|
2021-07-26 13:51:41 +08:00
|
|
|
|
|
|
|
Future<Either<Unit, WorkspaceError>> deleteWorkspace(
|
|
|
|
{required String workspaceId}) {
|
|
|
|
throw UnimplementedError();
|
|
|
|
}
|
|
|
|
|
|
|
|
Future<Either<Unit, UserError>> signOut() {
|
|
|
|
return UserEventSignOut().send();
|
|
|
|
}
|
|
|
|
|
|
|
|
Future<Either<List<Workspace>, WorkspaceError>> fetchWorkspaces() {
|
|
|
|
return WorkspaceEventReadAllWorkspace().send().then((result) {
|
|
|
|
return result.fold(
|
|
|
|
(workspaces) => left(workspaces.items),
|
|
|
|
(r) => right(r),
|
|
|
|
);
|
|
|
|
});
|
|
|
|
}
|
2021-07-26 11:51:39 +08:00
|
|
|
}
|