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 {
  final encodedProjectId = Uri.encodeComponent(projectId);
  final uri = Uri.parse('$baseUrl/accounts/projects/$encodedProjectId/usage');
  final queryParams = <String, String>{
    if (start != null) "start": start.toIso8601String(),
    if (end != null) "end": end.toIso8601String(),
    if (interval != null) "interval": interval,
    if (report != null) "report": report,
  };
  final response = await httpClient.get(uri.replace(queryParameters: queryParams));

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

  return results;
}