in handlers/sf-datalake-export/src/main/scala/com/gu/sf_datalake_export/handlers/GetBatchesHandler.scala [79:92]
def getJobStatus(batches: Seq[BatchInfo]): JobStatus = {
def fromStatusList(remainingBatchStates: Seq[BatchState], jobStatusSoFar: JobStatus): JobStatus =
remainingBatchStates match {
case Nil => jobStatusSoFar
case Failed :: _ => FailedJob
case Queued :: tail => fromStatusList(tail, PendingJob)
case InProgress :: tail => fromStatusList(tail, PendingJob)
case Completed :: tail => fromStatusList(tail, jobStatusSoFar)
case NotProcessed :: tail => fromStatusList(tail, jobStatusSoFar)
}
fromStatusList(batches.map(_.state), CompletedJob)
}