/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.0.1 * User agent: apibuilder app.apibuilder.io/nccloud/registry-crds/0.0.1/play_2_6 */ package de.nccloud.registry.crds.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 de.nccloud.registry.api.v0.models.json._ import de.nccloud.registry.crds.v0.models.json._ implicit def jsonReadsRegistryCrdsServiceRegistration : play.api.libs.json.Reads[de.nccloud.registry.crds.v0.models.ServiceRegistration] = { for { name <- (__ \ "name").read[String] version <- (__ \ "version").read[String] `type` <- (__ \ "type").read[de.nccloud.registry.api.v0.models.ServiceType] uri <- (__ \ "uri").read[String] title <- (__ \ "title").readNullable[String] description <- (__ \ "description").readNullable[String] } yield ServiceRegistration(name, version, `type`, uri, title, description) } def jsObjectServiceRegistration( obj: de.nccloud.registry.crds.v0.models.ServiceRegistration ): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "name" -> play.api.libs.json.JsString(obj.name), "version" -> play.api.libs.json.JsString(obj.version), "type" -> play.api.libs.json.JsString(obj.`type`.toString), "uri" -> play.api.libs.json.JsString(obj.uri) ) ++ (obj.title match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("title" -> play.api.libs.json.JsString(x)) }) ++ (obj.description match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("description" -> play.api.libs.json.JsString(x)) }) } implicit def jsonWritesRegistryCrdsServiceRegistration: play.api.libs.json.Writes[ServiceRegistration] = { (obj: de.nccloud.registry.crds.v0.models.ServiceRegistration) => { de.nccloud.registry.crds.v0.models.json.jsObjectServiceRegistration(obj) } } }