getRandomInsight static method

Future<InsightsResult> getRandomInsight(
  1. User user, {
  2. InsightType? type,
  3. String? country,
  4. String? valueTag,
  5. String? serverDomain,
  6. QueryType? queryType,
})

Implementation

static Future<InsightsResult> getRandomInsight(
  User user, {
  InsightType? type,
  String? country,
  String? valueTag,
  String? serverDomain,
  QueryType? queryType,
}) async {
  final Map<String, String> parameters = {};

  if (type != null && type.value != null) {
    parameters['type'] = type.value!;
  }
  if (country != null) {
    parameters['country'] = country;
  }
  if (valueTag != null) {
    parameters['value_tag'] = valueTag;
  }
  if (serverDomain != null) {
    parameters['server_domain'] = serverDomain;
  }

  var insightUri = UriHelper.getRobotoffUri(
    path: 'api/v1/insights/random/',
    queryType: queryType,
    queryParameters: parameters,
  );

  Response response = await HttpHelper().doGetRequest(
    insightUri,
    user: user,
    queryType: queryType,
  );
  var result =
      InsightsResult.fromJson(json.decode(utf8.decode(response.bodyBytes)));

  return result;
}