add update phone number and recovery email

This commit is contained in:
tzw
2025-01-14 17:10:10 +06:30
parent 21cf7a2517
commit ace3af1785
22 changed files with 1087 additions and 221 deletions

View File

@@ -29,7 +29,8 @@ class AuthFb {
StreamSubscription<DocumentSnapshot>? userListener;
StreamSubscription<DocumentSnapshot>? userAuthListener;
Future<fcs.AuthResult> sendSmsCodeToPhoneNumber(String phoneNumber) {
Future<fcs.AuthResult> sendSmsCodeToPhoneNumber(String phoneNumber,
{String? forceResendingToken}) {
Completer<fcs.AuthResult> completer = Completer();
bool codeSentCompleted = false;
@@ -66,7 +67,9 @@ class AuthFb {
print("codeSent " + phoneNumber);
codeSentCompleted = true;
if (!completer.isCompleted)
completer.complete(fcs.AuthResult(authStatus: AuthStatus.SMS_SENT));
completer.complete(fcs.AuthResult(
authStatus: AuthStatus.SMS_SENT,
forceResendingToken: forceResendingToken?.toString()));
};
final fb.PhoneCodeAutoRetrievalTimeout codeAutoRetrievalTimeout =
@@ -83,6 +86,9 @@ class AuthFb {
};
_fb.verifyPhoneNumber(
forceResendingToken: forceResendingToken != null
? int.tryParse(forceResendingToken)
: null,
phoneNumber: phoneNumber,
timeout: const Duration(seconds: 0),
verificationCompleted: verificationCompleted,

View File

@@ -16,8 +16,10 @@ class AuthServiceImp implements AuthService {
final AuthFb authFb;
@override
Future<AuthResult> sendSmsCodeToPhoneNumber(String phoneNumber) {
return authFb.sendSmsCodeToPhoneNumber(phoneNumber);
Future<AuthResult> sendSmsCodeToPhoneNumber(String phoneNumber,
{String? forceResendingToken}) {
return authFb.sendSmsCodeToPhoneNumber(phoneNumber,
forceResendingToken: forceResendingToken);
}
@override

View File

@@ -3,7 +3,8 @@ import 'package:fcs/domain/entities/setting.dart';
import 'package:fcs/domain/entities/user.dart';
abstract class AuthService {
Future<AuthResult> sendSmsCodeToPhoneNumber(String phoneNumber);
Future<AuthResult> sendSmsCodeToPhoneNumber(String phoneNumber,
{String? forceResendingToken});
Future<AuthResult> signInWithSmsCode(String smsCode);
Future<void> signoutStart();
Future<void> signoutEnd();