AppFlowy/app_flowy/lib/user/domain/i_auth.dart

26 lines
815 B
Dart
Raw Normal View History

2021-07-13 05:14:49 +00:00
import 'package:dartz/dartz.dart';
2021-11-08 11:19:02 +00:00
import 'package:flowy_sdk/protobuf/flowy-user/protobuf.dart';
import 'package:flutter/material.dart';
2021-07-13 05:14:49 +00:00
2021-11-08 11:19:02 +00:00
class NewUser {
UserProfile profile;
String workspaceId;
NewUser({
required this.profile,
required this.workspaceId,
});
}
2021-07-13 05:14:49 +00:00
abstract class IAuth {
2021-11-08 06:11:10 +00:00
Future<Either<UserProfile, UserError>> signIn(String? email, String? password);
2021-11-08 11:19:02 +00:00
Future<Either<NewUser, UserError>> signUp(String? name, String? password, String? email);
Future<Either<Unit, UserError>> signOut();
2021-07-13 05:14:49 +00:00
}
abstract class IAuthRouter {
2021-09-06 08:18:34 +00:00
void pushWelcomeScreen(BuildContext context, UserProfile userProfile);
void pushSignUpScreen(BuildContext context);
void pushForgetPasswordScreen(BuildContext context);
2021-11-08 11:19:02 +00:00
void pushHomeScreen(BuildContext context, UserProfile profile, String workspaceId);
}