mobileLogin method

  1. @override
Future<Either<Failure, Success>> mobileLogin(
  1. String clientId,
  2. String secretKey,
  3. String uuid, {
  4. String field = "destination",
})
override

Implementation

@override
Future<Either<Failure, Success>> mobileLogin(
    String clientId, String secretKey, String uuid,
    {String field = "destination"}) async {
  try {
    var result = await _remoteDS.mobileLogin(
      clientId,
      secretKey,
      field,
      uuid,
    );
    if (result.isRight()) {
      var rightResult = result.fold((l) => null, (r) => r);
      var token =
          rightResult is AuthSuccessToken ? rightResult.accessToken : "";
      var cacheResult = await _localDS.cacheGathererAccessToken(token);
      return cacheResult;
    } else {
      return Left(CacheFailure());
    }
  } catch (e) {
    return Left(AuthenticationFailure());
  }
}