/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.16.74 * User agent: apibuilder app.apibuilder.io/apicollective/apibuilder-postman-collection-v2-1/0.16.74/play_2_6 */ package io.apibuilder.postman.collection.v21.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.apibuilder.postman.collection.v21.v0.models.json._ implicit val jsonReadsApiBuilderPostmanCollectionV21AuthEnum : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.AuthEnum] = new play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.AuthEnum] { def reads( js: play.api.libs.json.JsValue ): play.api.libs.json.JsResult[io.apibuilder.postman.collection.v21.v0.models.AuthEnum] = { js match { case v: play.api.libs.json.JsString => play.api.libs.json.JsSuccess(io.apibuilder.postman.collection.v21.v0.models.AuthEnum(v.value)) case _ => { (js \ "value").validate[String] match { case play.api.libs.json.JsSuccess(v, _) => play.api.libs.json.JsSuccess(io.apibuilder.postman.collection.v21.v0.models.AuthEnum(v)) case _: play.api.libs.json.JsError => (js \ "auth_enum").validate[String] match { case play.api.libs.json.JsSuccess(v, _) => play.api.libs.json.JsSuccess(io.apibuilder.postman.collection.v21.v0.models.AuthEnum(v)) case err: play.api.libs.json.JsError => err } } } } } } def jsonWritesApiBuilderPostmanCollectionV21AuthEnum(obj: io.apibuilder.postman.collection.v21.v0.models.AuthEnum) = { play.api.libs.json.JsString(obj.toString) } def jsObjectAuthEnum(obj: io.apibuilder.postman.collection.v21.v0.models.AuthEnum) = { play.api.libs.json.Json.obj("value" -> play.api.libs.json.JsString(obj.toString)) } implicit def jsonWritesApiBuilderPostmanCollectionV21AuthEnum: play.api.libs.json.Writes[AuthEnum] = { (obj: io.apibuilder.postman.collection.v21.v0.models.AuthEnum) => { io.apibuilder.postman.collection.v21.v0.models.json.jsonWritesApiBuilderPostmanCollectionV21AuthEnum(obj) } } implicit val jsonReadsApiBuilderPostmanCollectionV21BodyMode : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.BodyMode] = new play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.BodyMode] { def reads( js: play.api.libs.json.JsValue ): play.api.libs.json.JsResult[io.apibuilder.postman.collection.v21.v0.models.BodyMode] = { js match { case v: play.api.libs.json.JsString => play.api.libs.json.JsSuccess(io.apibuilder.postman.collection.v21.v0.models.BodyMode(v.value)) case _ => { (js \ "value").validate[String] match { case play.api.libs.json.JsSuccess(v, _) => play.api.libs.json.JsSuccess(io.apibuilder.postman.collection.v21.v0.models.BodyMode(v)) case _: play.api.libs.json.JsError => (js \ "body_mode").validate[String] match { case play.api.libs.json.JsSuccess(v, _) => play.api.libs.json.JsSuccess(io.apibuilder.postman.collection.v21.v0.models.BodyMode(v)) case err: play.api.libs.json.JsError => err } } } } } } def jsonWritesApiBuilderPostmanCollectionV21BodyMode(obj: io.apibuilder.postman.collection.v21.v0.models.BodyMode) = { play.api.libs.json.JsString(obj.toString) } def jsObjectBodyMode(obj: io.apibuilder.postman.collection.v21.v0.models.BodyMode) = { play.api.libs.json.Json.obj("value" -> play.api.libs.json.JsString(obj.toString)) } implicit def jsonWritesApiBuilderPostmanCollectionV21BodyMode: play.api.libs.json.Writes[BodyMode] = { (obj: io.apibuilder.postman.collection.v21.v0.models.BodyMode) => { io.apibuilder.postman.collection.v21.v0.models.json.jsonWritesApiBuilderPostmanCollectionV21BodyMode(obj) } } implicit val jsonReadsApiBuilderPostmanCollectionV21EventType : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.EventType] = new play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.EventType] { def reads( js: play.api.libs.json.JsValue ): play.api.libs.json.JsResult[io.apibuilder.postman.collection.v21.v0.models.EventType] = { js match { case v: play.api.libs.json.JsString => play.api.libs.json.JsSuccess(io.apibuilder.postman.collection.v21.v0.models.EventType(v.value)) case _ => { (js \ "value").validate[String] match { case play.api.libs.json.JsSuccess(v, _) => play.api.libs.json.JsSuccess(io.apibuilder.postman.collection.v21.v0.models.EventType(v)) case _: play.api.libs.json.JsError => (js \ "event_type").validate[String] match { case play.api.libs.json.JsSuccess(v, _) => play.api.libs.json.JsSuccess(io.apibuilder.postman.collection.v21.v0.models.EventType(v)) case err: play.api.libs.json.JsError => err } } } } } } def jsonWritesApiBuilderPostmanCollectionV21EventType( obj: io.apibuilder.postman.collection.v21.v0.models.EventType ) = { play.api.libs.json.JsString(obj.toString) } def jsObjectEventType(obj: io.apibuilder.postman.collection.v21.v0.models.EventType) = { play.api.libs.json.Json.obj("value" -> play.api.libs.json.JsString(obj.toString)) } implicit def jsonWritesApiBuilderPostmanCollectionV21EventType: play.api.libs.json.Writes[EventType] = { (obj: io.apibuilder.postman.collection.v21.v0.models.EventType) => { io.apibuilder.postman.collection.v21.v0.models.json.jsonWritesApiBuilderPostmanCollectionV21EventType(obj) } } implicit val jsonReadsApiBuilderPostmanCollectionV21Method : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Method] = new play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Method] { def reads( js: play.api.libs.json.JsValue ): play.api.libs.json.JsResult[io.apibuilder.postman.collection.v21.v0.models.Method] = { js match { case v: play.api.libs.json.JsString => play.api.libs.json.JsSuccess(io.apibuilder.postman.collection.v21.v0.models.Method(v.value)) case _ => { (js \ "value").validate[String] match { case play.api.libs.json.JsSuccess(v, _) => play.api.libs.json.JsSuccess(io.apibuilder.postman.collection.v21.v0.models.Method(v)) case _: play.api.libs.json.JsError => (js \ "method").validate[String] match { case play.api.libs.json.JsSuccess(v, _) => play.api.libs.json.JsSuccess(io.apibuilder.postman.collection.v21.v0.models.Method(v)) case err: play.api.libs.json.JsError => err } } } } } } def jsonWritesApiBuilderPostmanCollectionV21Method(obj: io.apibuilder.postman.collection.v21.v0.models.Method) = { play.api.libs.json.JsString(obj.toString) } def jsObjectMethod(obj: io.apibuilder.postman.collection.v21.v0.models.Method) = { play.api.libs.json.Json.obj("value" -> play.api.libs.json.JsString(obj.toString)) } implicit def jsonWritesApiBuilderPostmanCollectionV21Method: play.api.libs.json.Writes[Method] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Method) => { io.apibuilder.postman.collection.v21.v0.models.json.jsonWritesApiBuilderPostmanCollectionV21Method(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Auth : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Auth] = { for { `type` <- (__ \ "type").read[io.apibuilder.postman.collection.v21.v0.models.AuthEnum] basic <- (__ \ "basic").readNullable[Seq[io.apibuilder.postman.collection.v21.v0.models.BasicAuth]] } yield Auth(`type`, basic) } def jsObjectAuth(obj: io.apibuilder.postman.collection.v21.v0.models.Auth): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "type" -> play.api.libs.json.JsString(obj.`type`.toString) ) ++ (obj.basic match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("basic" -> play.api.libs.json.Json.toJson(x)) }) } implicit def jsonWritesApiBuilderPostmanCollectionV21Auth: play.api.libs.json.Writes[Auth] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Auth) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectAuth(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21BasicAuth : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.BasicAuth] = { for { key <- (__ \ "key").read[String] value <- (__ \ "value").read[String] `type` <- (__ \ "type").readNullable[String] } yield BasicAuth(key, value, `type`) } def jsObjectBasicAuth(obj: io.apibuilder.postman.collection.v21.v0.models.BasicAuth): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "key" -> play.api.libs.json.JsString(obj.key), "value" -> play.api.libs.json.JsString(obj.value) ) ++ (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 jsonWritesApiBuilderPostmanCollectionV21BasicAuth: play.api.libs.json.Writes[BasicAuth] = { (obj: io.apibuilder.postman.collection.v21.v0.models.BasicAuth) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectBasicAuth(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Body : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Body] = { for { raw <- (__ \ "raw").readNullable[String] mode <- (__ \ "mode").readNullable[io.apibuilder.postman.collection.v21.v0.models.BodyMode] urlencoded <- (__ \ "urlencoded").readNullable[Seq[io.apibuilder.postman.collection.v21.v0.models.UrlEncoded]] file <- (__ \ "file").readNullable[io.apibuilder.postman.collection.v21.v0.models.File] formdata <- (__ \ "formdata").readNullable[Seq[io.apibuilder.postman.collection.v21.v0.models.FormParameter]] } yield Body(raw, mode, urlencoded, file, formdata) } def jsObjectBody(obj: io.apibuilder.postman.collection.v21.v0.models.Body): play.api.libs.json.JsObject = { (obj.raw match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("raw" -> play.api.libs.json.JsString(x)) }) ++ (obj.mode match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("mode" -> play.api.libs.json.JsString(x.toString)) }) ++ (obj.urlencoded match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("urlencoded" -> play.api.libs.json.Json.toJson(x)) }) ++ (obj.file match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("file" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectFile(x)) }) ++ (obj.formdata match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("formdata" -> play.api.libs.json.Json.toJson(x)) }) } implicit def jsonWritesApiBuilderPostmanCollectionV21Body: play.api.libs.json.Writes[Body] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Body) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectBody(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Collection : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Collection] = { for { info <- (__ \ "info").read[io.apibuilder.postman.collection.v21.v0.models.Info] item <- (__ \ "item").read[Seq[io.apibuilder.postman.collection.v21.v0.models.Items]] event <- (__ \ "event").read[Seq[io.apibuilder.postman.collection.v21.v0.models.Event]] variable <- (__ \ "variable").read[Seq[io.apibuilder.postman.collection.v21.v0.models.Variable]] auth <- (__ \ "auth").readNullable[io.apibuilder.postman.collection.v21.v0.models.Auth] } yield Collection(info, item, event, variable, auth) } def jsObjectCollection( obj: io.apibuilder.postman.collection.v21.v0.models.Collection ): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "info" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectInfo(obj.info), "item" -> play.api.libs.json.Json.toJson(obj.item), "event" -> play.api.libs.json.Json.toJson(obj.event), "variable" -> play.api.libs.json.Json.toJson(obj.variable) ) ++ (obj.auth match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("auth" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectAuth(x)) }) } implicit def jsonWritesApiBuilderPostmanCollectionV21Collection: play.api.libs.json.Writes[Collection] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Collection) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectCollection(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Description : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Description] = { for { content <- (__ \ "content").readNullable[String] `type` <- (__ \ "type").readNullable[String] } yield Description(content, `type`) } def jsObjectDescription( obj: io.apibuilder.postman.collection.v21.v0.models.Description ): play.api.libs.json.JsObject = { (obj.content match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("content" -> 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 jsonWritesApiBuilderPostmanCollectionV21Description: play.api.libs.json.Writes[Description] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Description) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectDescription(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Event : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Event] = { for { listen <- (__ \ "listen").read[io.apibuilder.postman.collection.v21.v0.models.EventType] script <- (__ \ "script").readNullable[io.apibuilder.postman.collection.v21.v0.models.Script] id <- (__ \ "id").readNullable[String] disabled <- (__ \ "disabled").readNullable[Boolean] } yield Event(listen, script, id, disabled) } def jsObjectEvent(obj: io.apibuilder.postman.collection.v21.v0.models.Event): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "listen" -> play.api.libs.json.JsString(obj.listen.toString) ) ++ (obj.script match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("script" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectScript(x)) }) ++ (obj.id match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("id" -> play.api.libs.json.JsString(x)) }) ++ (obj.disabled match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("disabled" -> play.api.libs.json.JsBoolean(x)) }) } implicit def jsonWritesApiBuilderPostmanCollectionV21Event: play.api.libs.json.Writes[Event] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Event) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectEvent(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21File : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.File] = { for { src <- (__ \ "src").readNullable[String] content <- (__ \ "content").readNullable[String] } yield File(src, content) } def jsObjectFile(obj: io.apibuilder.postman.collection.v21.v0.models.File): play.api.libs.json.JsObject = { (obj.src match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("src" -> play.api.libs.json.JsString(x)) }) ++ (obj.content match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("content" -> play.api.libs.json.JsString(x)) }) } implicit def jsonWritesApiBuilderPostmanCollectionV21File: play.api.libs.json.Writes[File] = { (obj: io.apibuilder.postman.collection.v21.v0.models.File) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectFile(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Folder : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Folder] = { for { name <- (__ \ "name").read[String] description <- (__ \ "description").readNullable[io.apibuilder.postman.collection.v21.v0.models.Description] variable <- (__ \ "variable").readNullable[Seq[io.apibuilder.postman.collection.v21.v0.models.Variable]] item <- (__ \ "item").read[Seq[io.apibuilder.postman.collection.v21.v0.models.Item]] event <- (__ \ "event").readNullable[Seq[io.apibuilder.postman.collection.v21.v0.models.Event]] auth <- (__ \ "auth").readNullable[io.apibuilder.postman.collection.v21.v0.models.Auth] } yield Folder(name, description, variable, item, event, auth) } def jsObjectFolder(obj: io.apibuilder.postman.collection.v21.v0.models.Folder): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "name" -> play.api.libs.json.JsString(obj.name), "item" -> play.api.libs.json.Json.toJson(obj.item) ) ++ (obj.description match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json .obj("description" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectDescription(x)) }) ++ (obj.variable match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("variable" -> play.api.libs.json.Json.toJson(x)) }) ++ (obj.event match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("event" -> play.api.libs.json.Json.toJson(x)) }) ++ (obj.auth match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("auth" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectAuth(x)) }) ++ play.api.libs.json.Json.obj("type" -> "folder") } implicit def jsonWritesApiBuilderPostmanCollectionV21Folder: play.api.libs.json.Writes[Folder] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Folder) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectFolder(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21FormParameter : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.FormParameter] = { for { key <- (__ \ "key").read[String] value <- (__ \ "value").readNullable[String] disabled <- (__ \ "disabled").readNullable[Boolean] description <- (__ \ "description").readNullable[io.apibuilder.postman.collection.v21.v0.models.Description] contentType <- (__ \ "contentType").readNullable[String] `type` <- (__ \ "type").readNullable[String] } yield FormParameter(key, value, disabled, description, contentType, `type`) } def jsObjectFormParameter( obj: io.apibuilder.postman.collection.v21.v0.models.FormParameter ): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "key" -> play.api.libs.json.JsString(obj.key) ) ++ (obj.value match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("value" -> play.api.libs.json.JsString(x)) }) ++ (obj.disabled match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("disabled" -> play.api.libs.json.JsBoolean(x)) }) ++ (obj.description match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json .obj("description" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectDescription(x)) }) ++ (obj.contentType match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("contentType" -> 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 jsonWritesApiBuilderPostmanCollectionV21FormParameter: play.api.libs.json.Writes[FormParameter] = { (obj: io.apibuilder.postman.collection.v21.v0.models.FormParameter) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectFormParameter(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Header : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Header] = { for { key <- (__ \ "key").read[String] value <- (__ \ "value").read[String] disabled <- (__ \ "disabled").readNullable[Boolean] description <- (__ \ "description").readNullable[io.apibuilder.postman.collection.v21.v0.models.Description] } yield Header(key, value, disabled, description) } def jsObjectHeader(obj: io.apibuilder.postman.collection.v21.v0.models.Header): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "key" -> play.api.libs.json.JsString(obj.key), "value" -> play.api.libs.json.JsString(obj.value) ) ++ (obj.disabled match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("disabled" -> play.api.libs.json.JsBoolean(x)) }) ++ (obj.description match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json .obj("description" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectDescription(x)) }) } implicit def jsonWritesApiBuilderPostmanCollectionV21Header: play.api.libs.json.Writes[Header] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Header) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectHeader(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Info : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Info] = { for { name <- (__ \ "name").read[String] postmanId <- (__ \ "postman_id").readNullable[String] description <- (__ \ "description").readNullable[io.apibuilder.postman.collection.v21.v0.models.Description] version <- (__ \ "version").readNullable[String] schema <- (__ \ "schema").read[String] } yield Info(name, postmanId, description, version, schema) } def jsObjectInfo(obj: io.apibuilder.postman.collection.v21.v0.models.Info): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "name" -> play.api.libs.json.JsString(obj.name), "schema" -> play.api.libs.json.JsString(obj.schema) ) ++ (obj.postmanId match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("postman_id" -> 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" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectDescription(x)) }) ++ (obj.version match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("version" -> play.api.libs.json.JsString(x)) }) } implicit def jsonWritesApiBuilderPostmanCollectionV21Info: play.api.libs.json.Writes[Info] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Info) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectInfo(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Item : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Item] = { for { id <- (__ \ "id").readNullable[String] name <- (__ \ "name").readNullable[String] description <- (__ \ "description").readNullable[io.apibuilder.postman.collection.v21.v0.models.Description] variable <- (__ \ "variable").readNullable[Seq[io.apibuilder.postman.collection.v21.v0.models.Variable]] event <- (__ \ "event").readNullable[Seq[io.apibuilder.postman.collection.v21.v0.models.Event]] request <- (__ \ "request").read[io.apibuilder.postman.collection.v21.v0.models.Request] response <- (__ \ "response").readNullable[Seq[io.apibuilder.postman.collection.v21.v0.models.Response]] } yield Item(id, name, description, variable, event, request, response) } def jsObjectItem(obj: io.apibuilder.postman.collection.v21.v0.models.Item): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "request" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectRequest(obj.request) ) ++ (obj.id match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("id" -> play.api.libs.json.JsString(x)) }) ++ (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)) }) ++ (obj.description match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json .obj("description" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectDescription(x)) }) ++ (obj.variable match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("variable" -> play.api.libs.json.Json.toJson(x)) }) ++ (obj.event match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("event" -> play.api.libs.json.Json.toJson(x)) }) ++ (obj.response match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("response" -> play.api.libs.json.Json.toJson(x)) }) ++ play.api.libs.json.Json.obj("type" -> "item") } implicit def jsonWritesApiBuilderPostmanCollectionV21Item: play.api.libs.json.Writes[Item] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Item) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectItem(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21QueryParam : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.QueryParam] = { for { key <- (__ \ "key").readNullable[String] value <- (__ \ "value").readNullable[String] disabled <- (__ \ "disabled").readNullable[Boolean] description <- (__ \ "description").readNullable[io.apibuilder.postman.collection.v21.v0.models.Description] } yield QueryParam(key, value, disabled, description) } def jsObjectQueryParam( obj: io.apibuilder.postman.collection.v21.v0.models.QueryParam ): play.api.libs.json.JsObject = { (obj.key match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("key" -> play.api.libs.json.JsString(x)) }) ++ (obj.value match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("value" -> play.api.libs.json.JsString(x)) }) ++ (obj.disabled match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("disabled" -> play.api.libs.json.JsBoolean(x)) }) ++ (obj.description match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json .obj("description" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectDescription(x)) }) } implicit def jsonWritesApiBuilderPostmanCollectionV21QueryParam: play.api.libs.json.Writes[QueryParam] = { (obj: io.apibuilder.postman.collection.v21.v0.models.QueryParam) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectQueryParam(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Request : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Request] = { for { url <- (__ \ "url").readNullable[io.apibuilder.postman.collection.v21.v0.models.Url] auth <- (__ \ "auth").readNullable[io.apibuilder.postman.collection.v21.v0.models.Auth] method <- (__ \ "method").readNullable[io.apibuilder.postman.collection.v21.v0.models.Method] description <- (__ \ "description").readNullable[io.apibuilder.postman.collection.v21.v0.models.Description] header <- (__ \ "header").readNullable[Seq[io.apibuilder.postman.collection.v21.v0.models.Header]] body <- (__ \ "body").readNullable[io.apibuilder.postman.collection.v21.v0.models.Body] } yield Request(url, auth, method, description, header, body) } def jsObjectRequest(obj: io.apibuilder.postman.collection.v21.v0.models.Request): play.api.libs.json.JsObject = { (obj.url match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("url" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectUrl(x)) }) ++ (obj.auth match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("auth" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectAuth(x)) }) ++ (obj.method match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("method" -> play.api.libs.json.JsString(x.toString)) }) ++ (obj.description match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json .obj("description" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectDescription(x)) }) ++ (obj.header match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("header" -> play.api.libs.json.Json.toJson(x)) }) ++ (obj.body match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("body" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectBody(x)) }) } implicit def jsonWritesApiBuilderPostmanCollectionV21Request: play.api.libs.json.Writes[Request] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Request) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectRequest(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Response : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Response] = { for { id <- (__ \ "id").readNullable[String] name <- (__ \ "name").readNullable[String] originalRequest <- (__ \ "originalRequest").readNullable[io.apibuilder.postman.collection.v21.v0.models.Request] responseTime <- (__ \ "responseTime").readNullable[String] header <- (__ \ "header").readNullable[Seq[io.apibuilder.postman.collection.v21.v0.models.Header]] body <- (__ \ "body").readNullable[String] status <- (__ \ "status").readNullable[String] code <- (__ \ "code").readNullable[Int] } yield Response(id, name, originalRequest, responseTime, header, body, status, code) } def jsObjectResponse(obj: io.apibuilder.postman.collection.v21.v0.models.Response): play.api.libs.json.JsObject = { (obj.id match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("id" -> play.api.libs.json.JsString(x)) }) ++ (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)) }) ++ (obj.originalRequest match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json .obj("originalRequest" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectRequest(x)) }) ++ (obj.responseTime match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("responseTime" -> play.api.libs.json.JsString(x)) }) ++ (obj.header match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("header" -> play.api.libs.json.Json.toJson(x)) }) ++ (obj.body match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("body" -> play.api.libs.json.JsString(x)) }) ++ (obj.status match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("status" -> play.api.libs.json.JsString(x)) }) ++ (obj.code match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("code" -> play.api.libs.json.JsNumber(x)) }) } implicit def jsonWritesApiBuilderPostmanCollectionV21Response: play.api.libs.json.Writes[Response] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Response) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectResponse(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Script : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Script] = { for { exec <- (__ \ "exec").read[Seq[String]] `type` <- (__ \ "type").read[String] id <- (__ \ "id").readNullable[String] src <- (__ \ "src").readNullable[String] name <- (__ \ "name").readNullable[String] } yield Script(exec, `type`, id, src, name) } def jsObjectScript(obj: io.apibuilder.postman.collection.v21.v0.models.Script): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "exec" -> play.api.libs.json.Json.toJson(obj.exec), "type" -> play.api.libs.json.JsString(obj.`type`) ) ++ (obj.id match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("id" -> play.api.libs.json.JsString(x)) }) ++ (obj.src match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("src" -> play.api.libs.json.JsString(x)) }) ++ (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 jsonWritesApiBuilderPostmanCollectionV21Script: play.api.libs.json.Writes[Script] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Script) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectScript(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Url : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Url] = { for { raw <- (__ \ "raw").readNullable[String] protocol <- (__ \ "protocol").readNullable[String] host <- (__ \ "host").readNullable[Seq[String]] path <- (__ \ "path").readNullable[Seq[String]] port <- (__ \ "port").readNullable[String] query <- (__ \ "query").readNullable[Seq[io.apibuilder.postman.collection.v21.v0.models.QueryParam]] hash <- (__ \ "hash").readNullable[String] variable <- (__ \ "variable").readNullable[Seq[io.apibuilder.postman.collection.v21.v0.models.Variable]] } yield Url(raw, protocol, host, path, port, query, hash, variable) } def jsObjectUrl(obj: io.apibuilder.postman.collection.v21.v0.models.Url): play.api.libs.json.JsObject = { (obj.raw match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("raw" -> play.api.libs.json.JsString(x)) }) ++ (obj.protocol match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("protocol" -> play.api.libs.json.JsString(x)) }) ++ (obj.host match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("host" -> play.api.libs.json.Json.toJson(x)) }) ++ (obj.path match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("path" -> play.api.libs.json.Json.toJson(x)) }) ++ (obj.port match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("port" -> play.api.libs.json.JsString(x)) }) ++ (obj.query match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("query" -> play.api.libs.json.Json.toJson(x)) }) ++ (obj.hash match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("hash" -> play.api.libs.json.JsString(x)) }) ++ (obj.variable match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("variable" -> play.api.libs.json.Json.toJson(x)) }) } implicit def jsonWritesApiBuilderPostmanCollectionV21Url: play.api.libs.json.Writes[Url] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Url) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectUrl(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21UrlEncoded : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.UrlEncoded] = { for { key <- (__ \ "key").read[String] value <- (__ \ "value").readNullable[String] disabled <- (__ \ "disabled").readNullable[Boolean] description <- (__ \ "description").readNullable[io.apibuilder.postman.collection.v21.v0.models.Description] } yield UrlEncoded(key, value, disabled, description) } def jsObjectUrlEncoded( obj: io.apibuilder.postman.collection.v21.v0.models.UrlEncoded ): play.api.libs.json.JsObject = { play.api.libs.json.Json.obj( "key" -> play.api.libs.json.JsString(obj.key) ) ++ (obj.value match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("value" -> play.api.libs.json.JsString(x)) }) ++ (obj.disabled match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("disabled" -> play.api.libs.json.JsBoolean(x)) }) ++ (obj.description match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json .obj("description" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectDescription(x)) }) } implicit def jsonWritesApiBuilderPostmanCollectionV21UrlEncoded: play.api.libs.json.Writes[UrlEncoded] = { (obj: io.apibuilder.postman.collection.v21.v0.models.UrlEncoded) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectUrlEncoded(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Variable : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Variable] = { for { id <- (__ \ "id").readNullable[String] key <- (__ \ "key").readNullable[String] value <- (__ \ "value").readNullable[String] `type` <- (__ \ "type").readNullable[String] name <- (__ \ "name").readNullable[String] description <- (__ \ "description").readNullable[io.apibuilder.postman.collection.v21.v0.models.Description] system <- (__ \ "system").readNullable[Boolean] disabled <- (__ \ "disabled").readNullable[Boolean] } yield Variable(id, key, value, `type`, name, description, system, disabled) } def jsObjectVariable(obj: io.apibuilder.postman.collection.v21.v0.models.Variable): play.api.libs.json.JsObject = { (obj.id match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("id" -> play.api.libs.json.JsString(x)) }) ++ (obj.key match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("key" -> play.api.libs.json.JsString(x)) }) ++ (obj.value match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("value" -> 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)) }) ++ (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)) }) ++ (obj.description match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json .obj("description" -> io.apibuilder.postman.collection.v21.v0.models.json.jsObjectDescription(x)) }) ++ (obj.system match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("system" -> play.api.libs.json.JsBoolean(x)) }) ++ (obj.disabled match { case None => play.api.libs.json.Json.obj() case Some(x) => play.api.libs.json.Json.obj("disabled" -> play.api.libs.json.JsBoolean(x)) }) } implicit def jsonWritesApiBuilderPostmanCollectionV21Variable: play.api.libs.json.Writes[Variable] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Variable) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectVariable(obj) } } implicit def jsonReadsApiBuilderPostmanCollectionV21Items : play.api.libs.json.Reads[io.apibuilder.postman.collection.v21.v0.models.Items] = (js: play.api.libs.json.JsValue) => { def readDiscriminator(discriminator: String) = { discriminator match { case "item" => io.apibuilder.postman.collection.v21.v0.models.json.jsonReadsApiBuilderPostmanCollectionV21Item.reads(js) case "folder" => io.apibuilder.postman.collection.v21.v0.models.json.jsonReadsApiBuilderPostmanCollectionV21Folder.reads(js) case other => play.api.libs.json.JsSuccess(io.apibuilder.postman.collection.v21.v0.models.ItemsUndefinedType(other)) } } (js \ "type").validate[String] match { case e: play.api.libs.json.JsError => e case s: play.api.libs.json.JsSuccess[String] => readDiscriminator(s.value) } } def jsObjectItems(obj: io.apibuilder.postman.collection.v21.v0.models.Items): play.api.libs.json.JsObject = { obj match { case x: io.apibuilder.postman.collection.v21.v0.models.Item => io.apibuilder.postman.collection.v21.v0.models.json.jsObjectItem(x) case x: io.apibuilder.postman.collection.v21.v0.models.Folder => io.apibuilder.postman.collection.v21.v0.models.json.jsObjectFolder(x) case other => { sys.error(s"The type[${other.getClass.getName}] has no JSON writer") } } } implicit def jsonWritesApiBuilderPostmanCollectionV21Items: play.api.libs.json.Writes[Items] = { (obj: io.apibuilder.postman.collection.v21.v0.models.Items) => { io.apibuilder.postman.collection.v21.v0.models.json.jsObjectItems(obj) } } }