override def reads()

in app/com/gu/memsub/promo/Formatters.scala [120:127]


        override def reads(json: JsValue): JsResult[LandingPage] = (json \ "productFamily").toOption orElse (json \ "type").toOption match {
          case Some(JsString(SupporterPlus.id))  => Json.reads[SupporterPlusLandingPage].reads(json)
          case Some(JsString(TierThree.id))  => Json.reads[TierThreeLandingPage].reads(json)
          case Some(JsString(DigitalPack.id))  => Json.reads[DigitalPackLandingPage].reads(json)
          case Some(JsString(Newspaper.id))  => Json.reads[NewspaperLandingPage].reads(json)
          case Some(JsString(GuardianWeekly.id)) => Json.reads[WeeklyLandingPage].reads(json)
          case _ => JsError("Unknown landing page type")
        }