in app/com/gu/memsub/promo/Formatters.scala [53:78]
override def writes(o: CampaignGroup): JsObject = Json.obj("group" -> o.id)
}
)
implicit val campaignCodeFormat: OFormat[CampaignCode] =
(__ \ "code").format[CampaignCode](scalarCampaignCodeFormat)
implicit val campaignFormat: OFormat[Campaign] = (
__.format[CampaignCode] and
__.format[CampaignGroup] and
(__ \ "name").format[String] and
(__ \ "sortDate").formatNullable[DateTime]
)(Campaign, unlift(Campaign.unapply))
}
object PromotionFormatters {
import Common._
import com.gu.memsub.images.GridDeserializer._
implicit val riFormat = Json.format[ResponsiveImage]
implicit val rigFormat = Json.format[ResponsiveImageGroup]
implicit val heroImageAlignmentFormat = Format(
new Reads[HeroImageAlignment] {