/** * Generated by API Builder - https://www.apibuilder.io * Service version: 1.0.1 * User agent: apibuilder app.apibuilder.io/catalystsquad/catalyst-squad-hello-world-example-api/1.0.1/play_2_x_scala_3_standalone_json */ package com.catalystsquad.catalyst.squad.hello.world.example.api.v1.models { /** * A Hello with a name and id * * @param id The ID of the hello. * @param name The name to hello */ final case class Hello( id: _root_.java.util.UUID, name: String ) /** * A Hello that has not yet been created * * @param name The name to hello */ final case class Newhello( name: String ) } package com.catalystsquad.catalyst.squad.hello.world.example.api.v1.models { package object json { import play.api.libs.json.__ import play.api.libs.json.JsString import play.api.libs.json.Writes import play.api.libs.functional.syntax._ import com.catalystsquad.catalyst.squad.hello.world.example.api.v1.models.json._ private[v1] implicit val jsonReadsUUID: play.api.libs.json.Reads[_root_.java.util.UUID] = __.read[String].map { str => _root_.java.util.UUID.fromString(str) } private[v1] implicit val jsonWritesUUID: play.api.libs.json.Writes[_root_.java.util.UUID] = (x: _root_.java.util.UUID) => play.api.libs.json.JsString(x.toString) private[v1] implicit val jsonReadsJodaDateTime: play.api.libs.json.Reads[_root_.org.joda.time.DateTime] = __.read[String].map { str => _root_.org.joda.time.format.ISODateTimeFormat.dateTimeParser.parseDateTime(str) } private[v1] implicit val jsonWritesJodaDateTime: play.api.libs.json.Writes[_root_.org.joda.time.DateTime] = (x: _root_.org.joda.time.DateTime) => { play.api.libs.json.JsString(_root_.org.joda.time.format.ISODateTimeFormat.dateTime.print(x)) } private[v1] implicit val jsonReadsJodaLocalDate: play.api.libs.json.Reads[_root_.org.joda.time.LocalDate] = __.read[String].map { str => _root_.org.joda.time.format.ISODateTimeFormat.dateTimeParser.parseLocalDate(str) } private[v1] implicit val jsonWritesJodaLocalDate: play.api.libs.json.Writes[_root_.org.joda.time.LocalDate] = (x: _root_.org.joda.time.LocalDate) => { play.api.libs.json.JsString(_root_.org.joda.time.format.ISODateTimeFormat.date.print(x)) } implicit def jsonReadsCatalystSquadHelloWorldExampleApiHello: play.api.libs.json.Reads[com.catalystsquad.catalyst.squad.hello.world.example.api.v1.models.Hello] = { for { id <- (__ \ "id").read[_root_.java.util.UUID] name <- (__ \ "name").read[String] } yield Hello(id, name) } def jsObjectHello(obj: com.catalystsquad.catalyst.squad.hello.world.example.api.v1.models.Hello): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "id" -> play.api.libs.json.JsString(obj.id.toString), "name" -> play.api.libs.json.JsString(obj.name) ) } implicit def jsonWritesCatalystSquadHelloWorldExampleApiHello: play.api.libs.json.Writes[Hello] = { (obj: com.catalystsquad.catalyst.squad.hello.world.example.api.v1.models.Hello) => { com.catalystsquad.catalyst.squad.hello.world.example.api.v1.models.json.jsObjectHello(obj) } } implicit def jsonReadsCatalystSquadHelloWorldExampleApiNewhello: play.api.libs.json.Reads[com.catalystsquad.catalyst.squad.hello.world.example.api.v1.models.Newhello] = { (__ \ "name").read[String].map { x => Newhello(name = x) } } def jsObjectNewhello(obj: com.catalystsquad.catalyst.squad.hello.world.example.api.v1.models.Newhello): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "name" -> play.api.libs.json.JsString(obj.name) ) } implicit def jsonWritesCatalystSquadHelloWorldExampleApiNewhello: play.api.libs.json.Writes[Newhello] = { (obj: com.catalystsquad.catalyst.squad.hello.world.example.api.v1.models.Newhello) => { com.catalystsquad.catalyst.squad.hello.world.example.api.v1.models.json.jsObjectNewhello(obj) } } } }