resolveInstallationToken method

Future<Map<String, dynamic>> resolveInstallationToken(
  1. String buildJobId
)

Resolves the Installation Access Token via Firebase Functions.

Implementation

Future<Map<String, dynamic>> resolveInstallationToken(
  String buildJobId,
) async {
  if (serverUrl != null && serverUrl!.isNotEmpty) {
    final url = Uri.parse('$serverUrl/builds/$buildJobId/token');
    final idToken = await authManager.getIdToken();
    final response = await http.get(
      url,
      headers: {'Authorization': 'Bearer $idToken'},
    );
    if (response.statusCode >= 200 && response.statusCode < 300) {
      return jsonDecode(response.body) as Map<String, dynamic>;
    }
    throw HttpException(
      'Failed to resolve token on server: ${response.statusCode} ${response.body}',
    );
  }

  return await callApi('resolve-installation-token', {
    'buildJobId': buildJobId,
  });
}