private def getLiveLinkSnapBrandingsForCollection()

in fapi-client/src/main/scala/com/gu/facia/api/FAPI.scala [117:147]


  private def getLiveLinkSnapBrandingsForCollection(collection: Collection)
    (
      implicit capiClient: ContentApiClient,
      ec: ExecutionContext
    ): Response[Map[String, BrandingByEdition]] =
    getLinkSnapBrandings(Collection.liveLinkSnapsRequestFor(collection))

  private def getDraftLinkSnapBrandingsForCollection(collection: Collection)
    (
      implicit capiClient: ContentApiClient,
      ec: ExecutionContext
    ): Response[Map[String, BrandingByEdition]] =
    getLinkSnapBrandings(
      Collection.draftLinkSnapsRequestFor(collection).getOrElse(Collection.liveLinkSnapsRequestFor(collection))
    )

  private def getLinkSnapBrandings(request: LinkSnapsRequest)(
    implicit capiClient: ContentApiClient, ec: ExecutionContext
  ): Response[Map[String, BrandingByEdition]] =
    for (snapContent <- ContentApi.linkSnapBrandingsByEdition(capiClient, request)) yield snapContent

  def getTreatsForCollection(collection: Collection, adjustSearchQuery: AdjustSearchQuery = identity, adjustItemQuery: AdjustItemQuery = identity)
                            (implicit capiClient: ContentApiClient, ec: ExecutionContext) = {
    val (treatIds, treatsSnapsRequest) = Collection.treatsRequestFor(collection)
      for {
        hydrateQueries <- ContentApi.buildHydrateQueries(capiClient, treatIds, adjustSearchQuery)
        hydrateResponses <- ContentApi.getHydrateResponse(capiClient, hydrateQueries)
        snapContent <- ContentApi.latestContentFromLatestSnaps(capiClient, treatsSnapsRequest, adjustItemQuery)
        setOfContent = ContentApi.itemsFromSearchResponses(hydrateResponses)}
    yield Collection.treatContent(collection, setOfContent, snapContent)
  }