def availabilityFor()

in src/main/scala/ophan/google/index/checker/Lambda.scala [60:78]


  def availabilityFor(contentSummaries: Set[ContentSummary]): Future[Map[String, ContentAvailabilityInGoogleIndex]] = {
    val contentSummariesById: Map[String, ContentSummary] = contentSummaries.map(cs => cs.id -> cs).toMap
    for {
      existingRecordsByCapiId <- dataStore.fetchExistingRecordsFor(contentSummariesById.keySet)
      (contentThatNeedsCheckingNow, contentThatDoesNotNeedCheckingRightNow) =
        contentSummaries.partition(contentThatNeedsCheckingNowGiven(existingRecordsByCapiId))
      updatedAvailabilityReports <- check(contentThatNeedsCheckingNow)
    } yield {
      println(s"There are ${existingRecordsByCapiId.size}/${contentSummaries.size} existing availability records for content items")
      val unchangedRecordsForContentThatIsKnownToBeFine: Map[String, AvailabilityRecord] = {
        val idsOfContentThatIsKnownToBeFine = contentThatDoesNotNeedCheckingRightNow.map(_.id)
        existingRecordsByCapiId.view.filterKeys(idsOfContentThatIsKnownToBeFine)
      }.toMap

      (unchangedRecordsForContentThatIsKnownToBeFine ++ updatedAvailabilityReports).mapV { record =>
        ContentAvailabilityInGoogleIndex(contentSummariesById(record.capiId), record)
      }
    }
  }