/** * 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/anorm_2_x_parsers */ package io.apibuilder.postman.collection.v21.v0.anorm.conversions { import anorm.{Column, MetaDataItem, TypeDoesNotMatch} import play.api.libs.json.{JsArray, JsObject, JsValue} import scala.util.{Failure, Success, Try} /** * Conversions to collections of objects using JSON. */ object Util { def parser[T]( f: play.api.libs.json.JsValue => T ) = anorm.Column.nonNull { (value, meta) => val MetaDataItem(columnName, nullable, clazz) = meta value match { case json: org.postgresql.util.PGobject => parseJson(f, columnName.qualified, json.getValue) case json: java.lang.String => parseJson(f, columnName.qualified, json) case _=> { Left( TypeDoesNotMatch( s"Column[${columnName.qualified}] error converting $value to Json. Expected instance of type[org.postgresql.util.PGobject] and not[${value.asInstanceOf[AnyRef].getClass}]" ) ) } } } private def parseJson[T](f: play.api.libs.json.JsValue => T, columnName: String, value: String) = { Try { f( play.api.libs.json.Json.parse(value) ) } match { case Success(result) => Right(result) case Failure(ex) => Left( TypeDoesNotMatch( s"Column[$columnName] error parsing json $value: $ex" ) ) } } } object Types { import io.apibuilder.postman.collection.v21.v0.models.json._ implicit val columnToSeqApiBuilderPostmanCollectionV21AuthEnum: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.AuthEnum]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.AuthEnum]] } implicit val columnToMapApiBuilderPostmanCollectionV21AuthEnum: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.AuthEnum]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.AuthEnum]] } implicit val columnToSeqApiBuilderPostmanCollectionV21BodyMode: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.BodyMode]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.BodyMode]] } implicit val columnToMapApiBuilderPostmanCollectionV21BodyMode: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.BodyMode]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.BodyMode]] } implicit val columnToSeqApiBuilderPostmanCollectionV21EventType: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.EventType]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.EventType]] } implicit val columnToMapApiBuilderPostmanCollectionV21EventType: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.EventType]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.EventType]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Method: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Method]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Method]] } implicit val columnToMapApiBuilderPostmanCollectionV21Method: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Method]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Method]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Auth: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Auth]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Auth]] } implicit val columnToMapApiBuilderPostmanCollectionV21Auth: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Auth]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Auth]] } implicit val columnToSeqApiBuilderPostmanCollectionV21BasicAuth: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.BasicAuth]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.BasicAuth]] } implicit val columnToMapApiBuilderPostmanCollectionV21BasicAuth: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.BasicAuth]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.BasicAuth]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Body: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Body]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Body]] } implicit val columnToMapApiBuilderPostmanCollectionV21Body: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Body]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Body]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Collection: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Collection]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Collection]] } implicit val columnToMapApiBuilderPostmanCollectionV21Collection: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Collection]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Collection]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Description: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Description]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Description]] } implicit val columnToMapApiBuilderPostmanCollectionV21Description: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Description]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Description]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Event: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Event]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Event]] } implicit val columnToMapApiBuilderPostmanCollectionV21Event: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Event]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Event]] } implicit val columnToSeqApiBuilderPostmanCollectionV21File: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.File]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.File]] } implicit val columnToMapApiBuilderPostmanCollectionV21File: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.File]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.File]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Folder: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Folder]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Folder]] } implicit val columnToMapApiBuilderPostmanCollectionV21Folder: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Folder]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Folder]] } implicit val columnToSeqApiBuilderPostmanCollectionV21FormParameter: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.FormParameter]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.FormParameter]] } implicit val columnToMapApiBuilderPostmanCollectionV21FormParameter: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.FormParameter]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.FormParameter]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Header: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Header]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Header]] } implicit val columnToMapApiBuilderPostmanCollectionV21Header: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Header]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Header]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Info: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Info]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Info]] } implicit val columnToMapApiBuilderPostmanCollectionV21Info: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Info]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Info]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Item: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Item]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Item]] } implicit val columnToMapApiBuilderPostmanCollectionV21Item: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Item]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Item]] } implicit val columnToSeqApiBuilderPostmanCollectionV21QueryParam: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.QueryParam]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.QueryParam]] } implicit val columnToMapApiBuilderPostmanCollectionV21QueryParam: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.QueryParam]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.QueryParam]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Request: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Request]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Request]] } implicit val columnToMapApiBuilderPostmanCollectionV21Request: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Request]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Request]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Response: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Response]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Response]] } implicit val columnToMapApiBuilderPostmanCollectionV21Response: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Response]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Response]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Script: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Script]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Script]] } implicit val columnToMapApiBuilderPostmanCollectionV21Script: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Script]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Script]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Url: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Url]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Url]] } implicit val columnToMapApiBuilderPostmanCollectionV21Url: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Url]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Url]] } implicit val columnToSeqApiBuilderPostmanCollectionV21UrlEncoded: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.UrlEncoded]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.UrlEncoded]] } implicit val columnToMapApiBuilderPostmanCollectionV21UrlEncoded: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.UrlEncoded]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.UrlEncoded]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Variable: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Variable]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Variable]] } implicit val columnToMapApiBuilderPostmanCollectionV21Variable: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Variable]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Variable]] } implicit val columnToSeqApiBuilderPostmanCollectionV21Items: Column[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Items]] = Util.parser { _.as[Seq[_root_.io.apibuilder.postman.collection.v21.v0.models.Items]] } implicit val columnToMapApiBuilderPostmanCollectionV21Items: Column[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Items]] = Util.parser { _.as[Map[String, _root_.io.apibuilder.postman.collection.v21.v0.models.Items]] } } object Standard { implicit val columnToJsObject: Column[play.api.libs.json.JsObject] = Util.parser { _.as[play.api.libs.json.JsObject] } implicit val columnToJsValue: Column[play.api.libs.json.JsValue] = Util.parser { _.as[play.api.libs.json.JsValue] } implicit val columnToSeqBoolean: Column[Seq[Boolean]] = Util.parser { _.as[Seq[Boolean]] } implicit val columnToMapBoolean: Column[Map[String, Boolean]] = Util.parser { _.as[Map[String, Boolean]] } implicit val columnToSeqDouble: Column[Seq[Double]] = Util.parser { _.as[Seq[Double]] } implicit val columnToMapDouble: Column[Map[String, Double]] = Util.parser { _.as[Map[String, Double]] } implicit val columnToSeqInt: Column[Seq[Int]] = Util.parser { _.as[Seq[Int]] } implicit val columnToMapInt: Column[Map[String, Int]] = Util.parser { _.as[Map[String, Int]] } implicit val columnToSeqLong: Column[Seq[Long]] = Util.parser { _.as[Seq[Long]] } implicit val columnToMapLong: Column[Map[String, Long]] = Util.parser { _.as[Map[String, Long]] } implicit val columnToSeqLocalDate: Column[Seq[_root_.org.joda.time.LocalDate]] = Util.parser { _.as[Seq[_root_.org.joda.time.LocalDate]] } implicit val columnToMapLocalDate: Column[Map[String, _root_.org.joda.time.LocalDate]] = Util.parser { _.as[Map[String, _root_.org.joda.time.LocalDate]] } implicit val columnToSeqDateTime: Column[Seq[_root_.org.joda.time.DateTime]] = Util.parser { _.as[Seq[_root_.org.joda.time.DateTime]] } implicit val columnToMapDateTime: Column[Map[String, _root_.org.joda.time.DateTime]] = Util.parser { _.as[Map[String, _root_.org.joda.time.DateTime]] } implicit val columnToSeqBigDecimal: Column[Seq[BigDecimal]] = Util.parser { _.as[Seq[BigDecimal]] } implicit val columnToMapBigDecimal: Column[Map[String, BigDecimal]] = Util.parser { _.as[Map[String, BigDecimal]] } implicit val columnToSeqJsObject: Column[Seq[_root_.play.api.libs.json.JsObject]] = Util.parser { _.as[Seq[_root_.play.api.libs.json.JsObject]] } implicit val columnToMapJsObject: Column[Map[String, _root_.play.api.libs.json.JsObject]] = Util.parser { _.as[Map[String, _root_.play.api.libs.json.JsObject]] } implicit val columnToSeqJsValue: Column[Seq[_root_.play.api.libs.json.JsValue]] = Util.parser { _.as[Seq[_root_.play.api.libs.json.JsValue]] } implicit val columnToMapJsValue: Column[Map[String, _root_.play.api.libs.json.JsValue]] = Util.parser { _.as[Map[String, _root_.play.api.libs.json.JsValue]] } implicit val columnToSeqString: Column[Seq[String]] = Util.parser { _.as[Seq[String]] } implicit val columnToMapString: Column[Map[String, String]] = Util.parser { _.as[Map[String, String]] } implicit val columnToSeqUUID: Column[Seq[_root_.java.util.UUID]] = Util.parser { _.as[Seq[_root_.java.util.UUID]] } implicit val columnToMapUUID: Column[Map[String, _root_.java.util.UUID]] = Util.parser { _.as[Map[String, _root_.java.util.UUID]] } } }