getSecretValue method
Fetches a Secret Value via Firebase Functions.
Implementation
Future<String> getSecretValue(String teamId, String name) async {
if (serverUrl == null || serverUrl!.isEmpty) {
throw StateError(
'OPENCI_SERVER_URL must be configured to retrieve secrets.',
);
}
final url = Uri.parse('$serverUrl/teams/$teamId/secrets/$name');
final idToken = await authManager.getIdToken();
final response = await http.get(
url,
headers: {'Authorization': 'Bearer $idToken'},
);
if (response.statusCode >= 200 && response.statusCode < 300) {
final data = jsonDecode(response.body) as Map<String, dynamic>;
return data['value'] as String? ?? '';
}
throw HttpException(
'Failed to get secret value from server: ${response.statusCode} ${response.body}',
);
}