signOut method

Future<Response> signOut()

Implementation

Future<Response> signOut() async {
  emit(state.copy(isLoading: true));
  final response = await handler.signOut();
  if (response.isSuccessful) {
    final userResponse = await userHandler.delete(uid);
    if (userResponse.isSuccessful || userResponse.snapshot != null) {
      emit(const AuthResponse(isSuccessful: true));
    } else {
      emit(state.copy(error: userResponse.message));
    }
    return userResponse.copy(data: null);
  } else {
    emit(state.copy(error: response.message));
    return response;
  }
}