Compare commits
	
		
			No commits in common. "f0ed08bd49f06d48d7db392b6c767618d2bb0c1a" and "a66db23ace25c438786a99e6da09839fcfa80838" have entirely different histories.
		
	
	
		
			f0ed08bd49
			...
			a66db23ace
		
	
		
@ -114,7 +114,6 @@ class AuthenticationMockDataSourceImpl extends AuthenticationRemoteDataSource {
 | 
				
			|||||||
      providerId: 'wyatt',
 | 
					      providerId: 'wyatt',
 | 
				
			||||||
      creationTime: creation,
 | 
					      creationTime: creation,
 | 
				
			||||||
      lastSignInTime: creation,
 | 
					      lastSignInTime: creation,
 | 
				
			||||||
      isNewUser: creation == creation,
 | 
					 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
    _streamAccount.add(mock);
 | 
					    _streamAccount.add(mock);
 | 
				
			||||||
    _connectedMock = _connectedMock?.copyWith(left: mock);
 | 
					    _connectedMock = _connectedMock?.copyWith(left: mock);
 | 
				
			||||||
@ -189,7 +188,6 @@ class AuthenticationMockDataSourceImpl extends AuthenticationRemoteDataSource {
 | 
				
			|||||||
      email: email,
 | 
					      email: email,
 | 
				
			||||||
      creationTime: creation,
 | 
					      creationTime: creation,
 | 
				
			||||||
      lastSignInTime: creation,
 | 
					      lastSignInTime: creation,
 | 
				
			||||||
      isNewUser: creation == creation,
 | 
					 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
    _streamAccount.add(mock);
 | 
					    _streamAccount.add(mock);
 | 
				
			||||||
    _registeredMock = Pair(mock, password);
 | 
					    _registeredMock = Pair(mock, password);
 | 
				
			||||||
 | 
				
			|||||||
@ -14,9 +14,6 @@
 | 
				
			|||||||
// You should have received a copy of the GNU General Public License
 | 
					// You should have received a copy of the GNU General Public License
 | 
				
			||||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
 | 
					// along with this program. If not, see <https://www.gnu.org/licenses/>.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import 'dart:async';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
import 'package:rxdart/rxdart.dart';
 | 
					 | 
				
			||||||
import 'package:wyatt_architecture/wyatt_architecture.dart';
 | 
					import 'package:wyatt_architecture/wyatt_architecture.dart';
 | 
				
			||||||
import 'package:wyatt_authentication_bloc/src/core/constants/form_field.dart';
 | 
					import 'package:wyatt_authentication_bloc/src/core/constants/form_field.dart';
 | 
				
			||||||
import 'package:wyatt_authentication_bloc/src/core/constants/form_name.dart';
 | 
					import 'package:wyatt_authentication_bloc/src/core/constants/form_name.dart';
 | 
				
			||||||
@ -46,8 +43,6 @@ class AuthenticationRepositoryImpl<T extends Object>
 | 
				
			|||||||
  final OnSignUpSuccess<T>? _onSignUpSuccess;
 | 
					  final OnSignUpSuccess<T>? _onSignUpSuccess;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  final OnAuthChange<T>? _onAccountChanges;
 | 
					  final OnAuthChange<T>? _onAccountChanges;
 | 
				
			||||||
  final StreamController<FutureResult<AccountWrapper<T>>> _signUpStream =
 | 
					 | 
				
			||||||
      StreamController();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  bool _pause = false; // Semaphore
 | 
					  bool _pause = false; // Semaphore
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -139,11 +134,7 @@ class AuthenticationRepositoryImpl<T extends Object>
 | 
				
			|||||||
              _formRepository.accessForm(AuthFormName.signUpForm).clone(),
 | 
					              _formRepository.accessForm(AuthFormName.signUpForm).clone(),
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
            await dataResult.foldAsync(
 | 
					            await dataResult.foldAsync(
 | 
				
			||||||
              (data) async {
 | 
					              _authenticationLocalDataSource.storeData,
 | 
				
			||||||
                await _authenticationLocalDataSource.storeData(data);
 | 
					 | 
				
			||||||
                _signUpStream
 | 
					 | 
				
			||||||
                    .add(Future.value(Ok(AccountWrapperModel(account, data))));
 | 
					 | 
				
			||||||
              },
 | 
					 | 
				
			||||||
              (error) async => error,
 | 
					              (error) async => error,
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
@ -214,21 +205,16 @@ class AuthenticationRepositoryImpl<T extends Object>
 | 
				
			|||||||
      );
 | 
					      );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  Stream<FutureResult<AccountWrapper<T>>> streamAccount() => MergeStream([
 | 
					  Stream<FutureResult<AccountWrapper<T>>> streamAccount() =>
 | 
				
			||||||
        _signUpStream.stream.asBroadcastStream(),
 | 
					 | 
				
			||||||
      _authenticationRemoteDataSource.streamAccount().map((account) async {
 | 
					      _authenticationRemoteDataSource.streamAccount().map((account) async {
 | 
				
			||||||
        if (_onAccountChanges.isNotNull && !_pause) {
 | 
					        if (_onAccountChanges.isNotNull && !_pause) {
 | 
				
			||||||
          final dataResult = await _onAccountChanges!.call(account);
 | 
					          final dataResult = await _onAccountChanges!.call(account);
 | 
				
			||||||
            return dataResult.map((data) {
 | 
					          return dataResult.map((data) => AccountWrapperModel(account, data));
 | 
				
			||||||
              _authenticationLocalDataSource.storeData(data);
 | 
					 | 
				
			||||||
              return AccountWrapperModel(account, data);
 | 
					 | 
				
			||||||
            });
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        return Ok<AccountWrapperModel<T>, AppException>(
 | 
					        return Ok<AccountWrapperModel<T>, AppException>(
 | 
				
			||||||
          AccountWrapperModel<T>(account, null),
 | 
					          AccountWrapperModel<T>(account, null),
 | 
				
			||||||
        );
 | 
					        );
 | 
				
			||||||
        })
 | 
					      });
 | 
				
			||||||
      ]);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  @override
 | 
					  @override
 | 
				
			||||||
  FutureResult<void> confirmPasswordReset({
 | 
					  FutureResult<void> confirmPasswordReset({
 | 
				
			||||||
 | 
				
			|||||||
@ -56,19 +56,6 @@ class AuthenticationCubit<Extra> extends Cubit<AuthenticationState<Extra>> {
 | 
				
			|||||||
    });
 | 
					    });
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /// If authenticated, re-emits state with data freshly loaded from cache.
 | 
					 | 
				
			||||||
  FutureOr<void> reloadCache() async {
 | 
					 | 
				
			||||||
    if (state.status == AuthenticationStatus.authenticated) {
 | 
					 | 
				
			||||||
      final data = await _authenticationRepository.getCache();
 | 
					 | 
				
			||||||
      emit(
 | 
					 | 
				
			||||||
        data.fold(
 | 
					 | 
				
			||||||
          AuthenticationState<Extra>.authenticated,
 | 
					 | 
				
			||||||
          (error) => state,
 | 
					 | 
				
			||||||
        ),
 | 
					 | 
				
			||||||
      );
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  FutureOr<void> signOut() {
 | 
					  FutureOr<void> signOut() {
 | 
				
			||||||
    // TODO(hpcl): maybe force unauthenticated by emitting an event
 | 
					    // TODO(hpcl): maybe force unauthenticated by emitting an event
 | 
				
			||||||
    _authenticationRepository.signOut();
 | 
					    _authenticationRepository.signOut();
 | 
				
			||||||
 | 
				
			|||||||
@ -21,7 +21,6 @@ dependencies:
 | 
				
			|||||||
  flutter_facebook_auth: ^4.3.0
 | 
					  flutter_facebook_auth: ^4.3.0
 | 
				
			||||||
  sign_in_with_apple: ^3.3.0
 | 
					  sign_in_with_apple: ^3.3.0
 | 
				
			||||||
  twitter_login: ^4.2.3
 | 
					  twitter_login: ^4.2.3
 | 
				
			||||||
  rxdart: ^0.27.7
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  wyatt_form_bloc:
 | 
					  wyatt_form_bloc:
 | 
				
			||||||
    hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub/
 | 
					    hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub/
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user