/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.0.2 * User agent: apibuilder app.apibuilder.io/bml/bml-gen-test-application/0.0.2/play_2_6 */ package org.bml.bml.gen.test.application.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 org.bml.annotation.v0.models.json._ import org.bml.bml.gen.test.application.v0.models.json._ import org.bml.validation.v0.models.json._ implicit val jsonReadsBmlGenTestApplicationTestEnumeration : play.api.libs.json.Reads[org.bml.bml.gen.test.application.v0.models.TestEnumeration] = new play.api.libs.json.Reads[org.bml.bml.gen.test.application.v0.models.TestEnumeration] { def reads( js: play.api.libs.json.JsValue ): play.api.libs.json.JsResult[org.bml.bml.gen.test.application.v0.models.TestEnumeration] = { js match { case v: play.api.libs.json.JsString => play.api.libs.json.JsSuccess(org.bml.bml.gen.test.application.v0.models.TestEnumeration(v.value)) case _ => { (js \ "value").validate[String] match { case play.api.libs.json.JsSuccess(v, _) => play.api.libs.json.JsSuccess(org.bml.bml.gen.test.application.v0.models.TestEnumeration(v)) case _: play.api.libs.json.JsError => (js \ "test_enumeration").validate[String] match { case play.api.libs.json.JsSuccess(v, _) => play.api.libs.json.JsSuccess(org.bml.bml.gen.test.application.v0.models.TestEnumeration(v)) case err: play.api.libs.json.JsError => err } } } } } } def jsonWritesBmlGenTestApplicationTestEnumeration( obj: org.bml.bml.gen.test.application.v0.models.TestEnumeration ) = { play.api.libs.json.JsString(obj.toString) } def jsObjectTestEnumeration(obj: org.bml.bml.gen.test.application.v0.models.TestEnumeration) = { play.api.libs.json.Json.obj("value" -> play.api.libs.json.JsString(obj.toString)) } implicit def jsonWritesBmlGenTestApplicationTestEnumeration: play.api.libs.json.Writes[TestEnumeration] = { (obj: org.bml.bml.gen.test.application.v0.models.TestEnumeration) => { org.bml.bml.gen.test.application.v0.models.json.jsonWritesBmlGenTestApplicationTestEnumeration(obj) } } implicit def jsonReadsBmlGenTestApplicationAccount : play.api.libs.json.Reads[org.bml.bml.gen.test.application.v0.models.Account] = { for { id <- (__ \ "id").read[_root_.java.util.UUID] awsAccount <- (__ \ "awsAccount").read[String] name <- (__ \ "name").read[String] enabled <- (__ \ "enabled").read[Boolean] } yield Account(id, awsAccount, name, enabled) } def jsObjectAccount(obj: org.bml.bml.gen.test.application.v0.models.Account): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "id" -> play.api.libs.json.JsString(obj.id.toString), "awsAccount" -> play.api.libs.json.JsString(obj.awsAccount), "name" -> play.api.libs.json.JsString(obj.name), "enabled" -> play.api.libs.json.JsBoolean(obj.enabled) ) } implicit def jsonWritesBmlGenTestApplicationAccount: play.api.libs.json.Writes[Account] = { (obj: org.bml.bml.gen.test.application.v0.models.Account) => { org.bml.bml.gen.test.application.v0.models.json.jsObjectAccount(obj) } } implicit def jsonReadsBmlGenTestApplicationAccountForm : play.api.libs.json.Reads[org.bml.bml.gen.test.application.v0.models.AccountForm] = { for { name <- (__ \ "name").read[String] enabled <- (__ \ "enabled").read[Boolean] } yield AccountForm(name, enabled) } def jsObjectAccountForm(obj: org.bml.bml.gen.test.application.v0.models.AccountForm): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "name" -> play.api.libs.json.JsString(obj.name), "enabled" -> play.api.libs.json.JsBoolean(obj.enabled) ) } implicit def jsonWritesBmlGenTestApplicationAccountForm: play.api.libs.json.Writes[AccountForm] = { (obj: org.bml.bml.gen.test.application.v0.models.AccountForm) => { org.bml.bml.gen.test.application.v0.models.json.jsObjectAccountForm(obj) } } implicit def jsonReadsBmlGenTestApplicationClient : play.api.libs.json.Reads[org.bml.bml.gen.test.application.v0.models.Client] = { (__ \ "accounts").read[Seq[org.bml.bml.gen.test.application.v0.models.Account]].map { x => Client(accounts = x) } } def jsObjectClient(obj: org.bml.bml.gen.test.application.v0.models.Client): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "accounts" -> play.api.libs.json.Json.toJson(obj.accounts) ) } implicit def jsonWritesBmlGenTestApplicationClient: play.api.libs.json.Writes[Client] = { (obj: org.bml.bml.gen.test.application.v0.models.Client) => { org.bml.bml.gen.test.application.v0.models.json.jsObjectClient(obj) } } implicit def jsonReadsBmlGenTestApplicationHealthcheck : play.api.libs.json.Reads[org.bml.bml.gen.test.application.v0.models.Healthcheck] = { (__ \ "status").read[String].map { x => Healthcheck(status = x) } } def jsObjectHealthcheck(obj: org.bml.bml.gen.test.application.v0.models.Healthcheck): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "status" -> play.api.libs.json.JsString(obj.status) ) } implicit def jsonWritesBmlGenTestApplicationHealthcheck: play.api.libs.json.Writes[Healthcheck] = { (obj: org.bml.bml.gen.test.application.v0.models.Healthcheck) => { org.bml.bml.gen.test.application.v0.models.json.jsObjectHealthcheck(obj) } } }