in common/app/model/Formats.scala [151:186]
def writes(faciaContent: PressedContent): JsValue =
faciaContent match {
case linkSnap: LinkSnap =>
Json
.toJson(linkSnap)(linkSnapFormat)
.transform[JsObject](Reads.JsObjectReads) match {
case JsSuccess(l, _) =>
l ++ Json.obj("type" -> "LinkSnap")
case JsError(_) => JsNull
}
case latestSnap: LatestSnap =>
Json
.toJson(latestSnap)(latestSnapFormat)
.transform[JsObject](Reads.JsObjectReads) match {
case JsSuccess(l, _) =>
l ++ Json.obj("type" -> "LatestSnap")
case JsError(_) => JsNull
}
case content: CuratedContent =>
Json
.toJson(content)(curatedContentFormat)
.transform[JsObject](Reads.JsObjectReads) match {
case JsSuccess(l, _) =>
l ++ Json.obj("type" -> "CuratedContent")
case JsError(_) => JsNull
}
case supporting: SupportingCuratedContent =>
Json
.toJson(supporting)(supportingCuratedContentFormat)
.transform[JsObject](Reads.JsObjectReads) match {
case JsSuccess(l, _) =>
l ++ Json.obj("type" -> "SupportingCuratedContent")
case JsError(_) => JsNull
}
case _ => JsNull
}