def fromSupportingItemAndContent()

in fapi-client/src/main/scala/com/gu/facia/api/models/curatedcontent.scala [223:247]


  def fromSupportingItemAndContent(supportingItem: SupportingItem, maybeContent: Option[Content]): LatestSnap = {
    val cardStyle: CardStyle = maybeContent.map(CardStyle.apply(_, supportingItem.safeMeta)).getOrElse(DefaultCardstyle)
    val contentFormat: ContentFormat = maybeContent.map(ContentFormat.apply).getOrElse(ContentFormat.defaultContentFormat)
    val resolvedMetaData: ResolvedMetaData =
      maybeContent.fold(ResolvedMetaData.fromTrailMetaData(supportingItem.safeMeta))(ResolvedMetaData.fromContentAndTrailMetaData(_, supportingItem.safeMeta, cardStyle))
    val brandingByEdition = maybeContent map (_.brandingByEdition) getOrElse Map.empty
    LatestSnap(
      supportingItem.id,
      supportingItem.frontPublicationDate,
      cardStyle,
      contentFormat,
      supportingItem.safeMeta.snapUri,
      supportingItem.safeMeta.snapCss,
      maybeContent,
      supportingItem.safeMeta.headline.orElse(maybeContent.flatMap(_.fields.flatMap(_.headline))).orElse(maybeContent.map(_.webTitle)),
      supportingItem.safeMeta.href,
      supportingItem.safeMeta.trailText.orElse(maybeContent.flatMap(_.fields.flatMap(_.trailText))),
      supportingItem.safeMeta.group.getOrElse("0"),
      FaciaImage.getFaciaImage(maybeContent, supportingItem.safeMeta, resolvedMetaData),
      ContentProperties.fromResolvedMetaData(resolvedMetaData),
      supportingItem.safeMeta.byline.orElse(maybeContent.flatMap(_.fields.flatMap(_.byline))),
      ItemKicker.fromMaybeContentTrailMetaAndResolvedMetaData(maybeContent, supportingItem.safeMeta, resolvedMetaData),
      brandingByEdition
    )
  }