fetchRessources method

Future<AccountSettings?> fetchRessources(
  1. String envId
)

Implementation

Future<AccountSettings?> fetchRessources(String envId) async {
  try {
    // Url for settings
    String urlString = Endpoints.SettingsUrl.replaceFirst(
        "%s", Flagship.sharedInstance().envId ?? "");

    var response = await Flagship.sharedInstance()
        .getConfiguration()
        ?.decisionManager
        .service
        .sendHttpRequest(RequestType.Get, urlString, {}, null);

    if (response?.statusCode == 200) {
      if (response != null) {
        DataUsageTracking.sharedInstance().processTroubleShootingHttp(
            CriticalPoints.ACCOUNT_SETTINGS.name, response);
      }
      // Return AccountSettings
      return AccountSettings.fromJson(
          json.decode(response?.body ?? "")['accountSettings'] ?? {});
    } else {
      Flagship.logger(Level.INFO,
          "Failed to get AccountSettings.json from $urlString - Code Error is : ${response?.statusCode}");
      if (response != null) {
        DataUsageTracking.sharedInstance().processTroubleShootingHttp(
            CriticalPoints.ACCOUNT_SETTINGS_ERROR.name, response);
      }
      return null;
    }
  } catch (e) {
    Flagship.logger(Level.INFO, "Request failed with error: $e");
    return null;
  }
}