/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.0.1-dev * User agent: apibuilder app.apibuilder.io/nashtech/apibuilder-api/0.0.1-dev/play_2_6 */ package com.nashtech.apibuilder.api.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 com.nashtech.apibuilder.api.v0.models.json._ import io.apibuilder.common.v0.models.json._ import io.apibuilder.generator.v0.models.json._ import io.apibuilder.spec.v0.models.json._ implicit def jsonReadsApibuilderApiUser: play.api.libs.json.Reads[com.nashtech.apibuilder.api.v0.models.User] = { for { email <- (__ \ "email").read[String] nickname <- (__ \ "nickname").read[String] name <- (__ \ "name").readNullable[String] } yield User(email, nickname, name) } def jsObjectUser(obj: com.nashtech.apibuilder.api.v0.models.User): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "email" -> play.api.libs.json.JsString(obj.email), "nickname" -> play.api.libs.json.JsString(obj.nickname) ) ++ (obj.name match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("name" -> play.api.libs.json.JsString(x)) }) } implicit def jsonWritesApibuilderApiUser: play.api.libs.json.Writes[User] = { (obj: com.nashtech.apibuilder.api.v0.models.User) => { com.nashtech.apibuilder.api.v0.models.json.jsObjectUser(obj) } } }