2021-07-13 13:14:49 +08:00
|
|
|
import 'package:dartz/dartz.dart';
|
2021-12-14 18:04:51 +08:00
|
|
|
import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
|
2021-12-19 21:29:33 +08:00
|
|
|
import 'package:flowy_sdk/protobuf/flowy-core-data-model/protobuf.dart';
|
|
|
|
import 'package:flowy_sdk/protobuf/flowy-user-data-model/protobuf.dart' show UserProfile;
|
2021-07-25 18:04:16 +08:00
|
|
|
import 'package:flutter/material.dart';
|
2021-07-13 13:14:49 +08:00
|
|
|
|
2021-11-08 19:19:02 +08:00
|
|
|
class NewUser {
|
|
|
|
UserProfile profile;
|
|
|
|
String workspaceId;
|
|
|
|
NewUser({
|
|
|
|
required this.profile,
|
|
|
|
required this.workspaceId,
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2021-07-13 13:14:49 +08:00
|
|
|
abstract class IAuth {
|
2021-12-14 18:04:51 +08:00
|
|
|
Future<Either<UserProfile, FlowyError>> signIn(String? email, String? password);
|
|
|
|
Future<Either<UserProfile, FlowyError>> signUp(String? name, String? password, String? email);
|
|
|
|
Future<Either<Unit, FlowyError>> signOut();
|
2021-07-13 13:14:49 +08:00
|
|
|
}
|
2021-07-25 18:04:16 +08:00
|
|
|
|
|
|
|
abstract class IAuthRouter {
|
2021-09-06 16:18:34 +08:00
|
|
|
void pushWelcomeScreen(BuildContext context, UserProfile userProfile);
|
|
|
|
void pushSignUpScreen(BuildContext context);
|
|
|
|
void pushForgetPasswordScreen(BuildContext context);
|
2021-11-10 23:39:51 +08:00
|
|
|
void pushHomeScreen(BuildContext context, UserProfile profile, CurrentWorkspaceSetting workspaceSetting);
|
2021-07-25 18:04:16 +08:00
|
|
|
}
|