/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.0.0-beta.1 * User agent: apibuilder app.apibuilder.io/chio/core-common/0.0.0-beta.1/play_2_6 */ package io.chio.core.common.v0.models package object json { import play.api.libs.json.{__, JsString, Writes} import play.api.libs.functional.syntax._ import play.api.libs.json.Writes._ import play.api.libs.json.Reads._ import io.chio.core.common.v0.models.json._ implicit def jsonReadsCoreCommonGenericError: play.api.libs.json.Reads[io.chio.core.common.v0.models.GenericError] = { for { id <- (__ \ "id").read[_root_.java.util.UUID] timestamp <- (__ \ "timestamp").read[_root_.java.time.OffsetDateTime] source <- (__ \ "source").readNullable[String] `type` <- (__ \ "type").readNullable[String] message <- (__ \ "message").read[String] } yield GenericError(id, timestamp, source, `type`, message) } def jsObjectGenericError(obj: io.chio.core.common.v0.models.GenericError): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "id" -> play.api.libs.json.JsString(obj.id.toString), "timestamp" -> play.api.libs.json.JsString(obj.timestamp.toString), "message" -> play.api.libs.json.JsString(obj.message) ) ++ (obj.source match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("source" -> play.api.libs.json.JsString(x)) }) ++ (obj.`type` match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("type" -> play.api.libs.json.JsString(x)) }) } implicit def jsonWritesCoreCommonGenericError: play.api.libs.json.Writes[GenericError] = { (obj: io.chio.core.common.v0.models.GenericError) => { io.chio.core.common.v0.models.json.jsObjectGenericError(obj) } } implicit def jsonReadsCoreCommonHealthcheck: play.api.libs.json.Reads[io.chio.core.common.v0.models.Healthcheck] = { (__ \ "health").read[String].map { x => Healthcheck(health = x) } } def jsObjectHealthcheck(obj: io.chio.core.common.v0.models.Healthcheck): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "health" -> play.api.libs.json.JsString(obj.health) ) } implicit def jsonWritesCoreCommonHealthcheck: play.api.libs.json.Writes[Healthcheck] = { (obj: io.chio.core.common.v0.models.Healthcheck) => { io.chio.core.common.v0.models.json.jsObjectHealthcheck(obj) } } }