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