override def writes()

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] {