refreshToken method

Future<bool> refreshToken()

Implementation

Future<bool> refreshToken() async {
  final savedAppRefreshToken = await authService.getSavedAppRefreshToken();
  final savedDeviceRefreshToken =
      await authService.getSavedDeviceRefreshToken();
  final savedUserRefreshToken = await authService.getSavedUserRefreshToken();

  bool isRefreshed = false;
  await authService
      .refreshAppToken(savedAppRefreshToken)
      .then((appToken) async {
    logger.debug(TAG, 'Successfully refresh app token');

    await authService
        .refreshDeviceToken(savedDeviceRefreshToken)
        .then((deviceToken) async {
      logger.debug(TAG, 'Successfully refresh device token');

      await authService
          .refreshUserToken(savedUserRefreshToken, appToken.accessToken)
          .then((userToken) async {
        logger.debug(TAG, 'Successfully refresh user token');

        isRefreshed = await authService.saveTokens(
            appToken: appToken,
            userToken: userToken,
            deviceToken: deviceToken);
      });
    });
  }).catchError((e) {
    logger.error(TAG, e.toString());
  });

  return isRefreshed;
}