refreshToken method

Implementation

Future<GenericServerResponse<LoginOutput>> refreshToken() async {

  GenericServerResponse<LoginOutput> genericServerResponse = new GenericServerResponse<LoginOutput>();

  try{

    String? ric = await (storage.read(key: KeyUtils.KEY_RICORDAMI));
    if(ric == null) throw new Exception('Impossibile ricordare l\'ultimo profilo');
    bool ricordami = ric.toLowerCase() == "true" ? true : false;
    String? user = await storage.read(key: KeyUtils.KEY_USER);
    String? password = await storage.read(key: KeyUtils.KEY_PASSWORD);

    if(ricordami){
      LoginInput loginInput = new LoginInput();
      loginInput.ricordami = ricordami;
      loginInput.tenancyName = "";
      loginInput.usernameOrEmailAddress = user;
      loginInput.password = password;

      genericServerResponse = await login(loginInput);
    }else{
      genericServerResponse.beaError = new BeaError("Session Expired", 401, "Session Expired");
    }
  }on Exception catch (e){
    print('BEA Refresh Token error');
    FLog.error(
        className: this.runtimeType.toString(),
        methodName: "refreshToken",
        text: 'BEA Refresh Token error - $e');
    throw e;
  }

  return genericServerResponse;
}