listShares method
Corresponds to: GET /accounts/projects/:project_id/shares
Returns JSON like { "shares": { "id", "settings" } } on success.
Implementation
Future<List<Map<String, dynamic>>> listShares(String projectId) async {
final uri = Uri.parse('$baseUrl/accounts/projects/$projectId/shares');
final response = await http.get(uri, headers: _getHeaders());
if (response.statusCode >= 400) {
throw MeshagentException(
'Failed to list shares. '
'Status code: ${response.statusCode}, body: ${response.body}',
);
}
final data = jsonDecode(response.body) as Map<String, dynamic>;
final sharesList = data['shares'] as List<dynamic>? ?? [];
// Convert each item to Map<String, dynamic>
return sharesList.whereType<Map<String, dynamic>>().toList();
}