def getJobStatus()

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)
  }