listRoomServices method
Corresponds to: GET /accounts/projects/{project_id}/services
Returns a JSON dict like: { "tokens": { ... }, ... }.
Implementation
Future<List<ServiceSpec>> listRoomServices({required String projectId, required String roomName}) async {
final encodedProjectId = Uri.encodeComponent(projectId);
final encodedRoomName = Uri.encodeComponent(roomName);
final uri = Uri.parse('$baseUrl/accounts/projects/$encodedProjectId/rooms/$encodedRoomName/services');
final response = await httpClient.get(uri);
if (response.statusCode >= 400) {
throw MeshagentException(
'Failed to list room services keys. '
'Status code: ${response.statusCode}, body: ${response.body}',
);
}
return (jsonDecode(response.body)["services"] as List).whereType<Map<String, dynamic>>().map((a) => ServiceSpec.fromJson(a)).toList();
}