getUsage method

Future<List<Map<String, dynamic>>> getUsage(
  1. String projectId, {
  2. DateTime? start,
  3. DateTime? end,
  4. String? interval,
  5. String? report,
})

Implementation

Future<List<Map<String, dynamic>>> getUsage(String projectId, {DateTime? start, DateTime? end, String? interval, String? report}) async {
  var uri = Uri.parse('$baseUrl/accounts/projects/$projectId/usage');

  if (start != null) {
    uri = uri.replace(queryParameters: {...uri.queryParameters, "start": start.toIso8601String()});
  }

  if (end != null) {
    uri = uri.replace(queryParameters: {...uri.queryParameters, "end": end.toIso8601String()});
  }

  if (interval != null) {
    uri = uri.replace(queryParameters: {...uri.queryParameters, "interval": interval});
  }

  if (report != null) {
    uri = uri.replace(queryParameters: {...uri.queryParameters, "report": report});
  }

  final response = await http.get(uri, headers: _getHeaders());

  List<Map<String, dynamic>> results = [];

  for (final map in (jsonDecode(response.body) as Map<String, dynamic>)["usage"]) {
    results.add(map);
  }

  return results;
}