AppFlowy/app_flowy/lib/user/domain/i_auth.dart
2021-11-08 23:15:29 +08:00

26 lines
819 B
Dart

import 'package:dartz/dartz.dart';
import 'package:flowy_sdk/protobuf/flowy-user/protobuf.dart';
import 'package:flutter/material.dart';
class NewUser {
UserProfile profile;
String workspaceId;
NewUser({
required this.profile,
required this.workspaceId,
});
}
abstract class IAuth {
Future<Either<UserProfile, UserError>> signIn(String? email, String? password);
Future<Either<UserProfile, UserError>> signUp(String? name, String? password, String? email);
Future<Either<Unit, UserError>> signOut();
}
abstract class IAuthRouter {
void pushWelcomeScreen(BuildContext context, UserProfile userProfile);
void pushSignUpScreen(BuildContext context);
void pushForgetPasswordScreen(BuildContext context);
void pushHomeScreen(BuildContext context, UserProfile profile, String workspaceId);
}