isJobCancelled method

Future<bool> isJobCancelled(
  1. String buildJobId
)

Checks if a job has been cancelled in Firestore.

Implementation

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

  final response = await callApi('is-job-cancelled', {
    'buildJobId': buildJobId,
  });
  return response['cancelled'] as bool? ?? false;
}