This commit is contained in:
Felipe
2024-03-11 09:24:29 -05:00
parent a71fc9efb6
commit 13896f2b6d
10 changed files with 290 additions and 451 deletions
@@ -76,7 +76,6 @@ class FirebaseUserRepository implements UserRepository {
return _firebaseAuth.userChanges().map((event) => null != event);
}
// Sign up
@override
Future<MyUser> signUp(MyUser myUser, String password) async {
try {
@@ -95,7 +94,6 @@ class FirebaseUserRepository implements UserRepository {
}
}
// Sign in with phone number
@override
Future<void> signInWithPhoneNumber(String phoneNumber) async {
try {
@@ -150,7 +148,6 @@ class FirebaseUserRepository implements UserRepository {
}
}
// Sign in
@override
Future<void> signIn(String email, String password) async {
try {
@@ -164,22 +161,23 @@ class FirebaseUserRepository implements UserRepository {
}
}
// Add email and password to user authenticate with phone
@override
Future<bool> addEmailAndPassword(String email, String password) async {
Future<String?> addEmailAndPassword(String email, String password) async {
try {
await _firebaseAuth.currentUser!.updateEmail(email);
await _firebaseAuth.currentUser!.updatePassword(password);
return true;
return null;
} catch (e) {
log('xd -- Error add email and password ${e.toString()}');
if (e is FirebaseAuthException && e.code == 'requires-recent-login') {
return 'requires-recent-login';
}
if (e is FirebaseAuthException && e.code == 'requires-recent-login') {}
if (e is FirebaseAuthException && e.code == 'email-already-in-use') {
return 'email-already-in-use';
}
if (e is FirebaseAuthException && e.code == 'email-already-in-use') {}
return false;
return 'unknown-error';
}
}
@@ -194,7 +192,6 @@ class FirebaseUserRepository implements UserRepository {
}
}
// Reset password
@override
Future<void> resetPassword(String email) async {
try {
@@ -205,7 +202,6 @@ class FirebaseUserRepository implements UserRepository {
}
}
// Set user data
@override
Future<void> setUserData(MyUser user) async {
try {
@@ -216,7 +212,6 @@ class FirebaseUserRepository implements UserRepository {
}
}
// Get user data
@override
Future<MyUser?> getMyUser(String myUserId) async {
try {
@@ -1,17 +1,15 @@
import '../../user_repository.dart';
abstract class UserRepository {
// Stream<User?> get user;
Stream<MyUser?> streamUser();
Stream<bool> isAuthenticated();
Future<void> signIn(String email, String password);
Future<bool> addEmailAndPassword(String email, String password);
Future<String?> addEmailAndPassword(String email, String password);
Future<void> logOut();
// Future<MyUser> signUp(String name, String email, String password);
Future<MyUser> signUp(MyUser myUser, String password);
Future<void> signInWithPhoneNumber(String phoneNumber);