feat(authentication): add google sign in in signIn cubit
This commit is contained in:
+2
-2
@@ -112,7 +112,7 @@ class AuthenticationMockDataSourceImpl extends AuthenticationRemoteDataSource {
|
||||
uid: 'mock-id-anom',
|
||||
emailVerified: false,
|
||||
isAnonymous: true,
|
||||
providerId: 'wyatt',
|
||||
providerId: 'wyatt-studio.fr',
|
||||
creationTime: creation,
|
||||
lastSignInTime: creation,
|
||||
isNewUser: creation == creation,
|
||||
@@ -131,7 +131,7 @@ class AuthenticationMockDataSourceImpl extends AuthenticationRemoteDataSource {
|
||||
uid: 'mock-id-google',
|
||||
emailVerified: true,
|
||||
isAnonymous: false,
|
||||
providerId: 'google',
|
||||
providerId: 'google.com',
|
||||
creationTime: creation,
|
||||
lastSignInTime: creation,
|
||||
isNewUser: creation == creation,
|
||||
|
||||
@@ -205,4 +205,24 @@ class SignInCubit<Extra> extends FormDataCubit<SignInState> {
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
FutureOr<void> signInWithGoogle() async {
|
||||
if (state.status.isSubmissionInProgress) {
|
||||
return;
|
||||
}
|
||||
// TODO(wyatt): maybe emit new state (to not carry an old errorMessage)
|
||||
emit(state.copyWith(status: FormStatus.submissionInProgress));
|
||||
|
||||
final uid = await _authenticationRepository.signInWithGoogle();
|
||||
|
||||
emit(
|
||||
uid.fold(
|
||||
(value) => state.copyWith(status: FormStatus.submissionSuccess),
|
||||
(error) => state.copyWith(
|
||||
errorMessage: error.message,
|
||||
status: FormStatus.submissionFailure,
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user