listServices method
Implementation
Future<List<ServiceSpec>> listServices(String projectId) async {
final encodedProjectId = Uri.encodeComponent(projectId);
final uri = Uri.parse('$baseUrl/accounts/projects/$encodedProjectId/services');
final response = await httpClient.get(uri);
if (response.statusCode >= 400) {
throw MeshagentException(
'Failed to list project services keys. '
'Status code: ${response.statusCode}, body: ${response.body}',
);
}
final data = jsonDecode(response.body) as Map<String, dynamic>;
final list = data['services'] as List<dynamic>? ?? [];
return list.whereType<Map>().map((m) => ServiceSpec.fromJson(m.cast<String, dynamic>())).toList();
}