/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.2.6 * User agent: apibuilder app.apibuilder.io/bombas/storeback-api/0.2.6/anorm_2_x_parsers */ import anorm._ package bombas.storeback.api.v0.anorm.parsers { import bombas.storeback.api.v0.anorm.conversions.Standard._ import bombas.storeback.api.v0.anorm.conversions.Types._ object Breadcrumb { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[bombas.storeback.api.v0.models.Breadcrumb] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( name: String = "name", link: String = "link", position: String = "position", prefixOpt: Option[String] = None ): RowParser[bombas.storeback.api.v0.models.Breadcrumb] = { SqlParser.str(prefixOpt.getOrElse("") + name).? ~ SqlParser.str(prefixOpt.getOrElse("") + link).? ~ SqlParser.int(prefixOpt.getOrElse("") + position).? map { case name ~ link ~ position => { bombas.storeback.api.v0.models.Breadcrumb( name = name, link = link, position = position ) } } } } object Color { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[bombas.storeback.api.v0.models.Color] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( id: String = "id", position: String = "position", name: String = "name", fill: String = "fill", prefixOpt: Option[String] = None ): RowParser[bombas.storeback.api.v0.models.Color] = { SqlParser.str(prefixOpt.getOrElse("") + id).? ~ SqlParser.int(prefixOpt.getOrElse("") + position).? ~ SqlParser.str(prefixOpt.getOrElse("") + name).? ~ SqlParser.str(prefixOpt.getOrElse("") + fill).? map { case id ~ position ~ name ~ fill => { bombas.storeback.api.v0.models.Color( id = id, position = position, name = name, fill = fill ) } } } } object Detail { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[bombas.storeback.api.v0.models.Detail] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( iconHandle: String = "icon_handle", title: String = "title", tech: String = "tech", prefixOpt: Option[String] = None ): RowParser[bombas.storeback.api.v0.models.Detail] = { SqlParser.str(prefixOpt.getOrElse("") + iconHandle).? ~ SqlParser.str(prefixOpt.getOrElse("") + title).? ~ SqlParser.get[Seq[bombas.storeback.api.v0.models.Tech]](prefixOpt.getOrElse("") + tech).? map { case iconHandle ~ title ~ tech => { bombas.storeback.api.v0.models.Detail( iconHandle = iconHandle, title = title, tech = tech ) } } } } object Image { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[bombas.storeback.api.v0.models.Image] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( id: String = "id", position: String = "position", alt: String = "alt", src: String = "src", prefixOpt: Option[String] = None ): RowParser[bombas.storeback.api.v0.models.Image] = { SqlParser.int(prefixOpt.getOrElse("") + id).? ~ SqlParser.int(prefixOpt.getOrElse("") + position).? ~ SqlParser.str(prefixOpt.getOrElse("") + alt).? ~ SqlParser.str(prefixOpt.getOrElse("") + src).? map { case id ~ position ~ alt ~ src => { bombas.storeback.api.v0.models.Image( id = id, position = position, alt = alt, src = src ) } } } } object Price { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[bombas.storeback.api.v0.models.Price] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( msrp: String = "msrp", price: String = "price", isDiscounted: String = "isDiscounted", percentOff: String = "percentOff", prefixOpt: Option[String] = None ): RowParser[bombas.storeback.api.v0.models.Price] = { SqlParser.str(prefixOpt.getOrElse("") + msrp).? ~ SqlParser.str(prefixOpt.getOrElse("") + price).? ~ SqlParser.bool(prefixOpt.getOrElse("") + isDiscounted).? ~ SqlParser.str(prefixOpt.getOrElse("") + percentOff).? map { case msrp ~ price ~ isDiscounted ~ percentOff => { bombas.storeback.api.v0.models.Price( msrp = msrp, price = price, isDiscounted = isDiscounted, percentOff = percentOff ) } } } } object Product { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[bombas.storeback.api.v0.models.Product] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( id: String = "id", title: String = "title", handle: String = "handle", description: String = "description", descriptionHtml: String = "description_html", itemCount: String = "item_count", productType: String = "product_type", gender: String = "gender", colors: String = "colors", sizes: String = "sizes", images: String = "images", variants: String = "variants", breadcrumbs: String = "breadcrumbs", details: String = "details", createdAt: String = "created_at", updatedAt: String = "updated_at", prefixOpt: Option[String] = None ): RowParser[bombas.storeback.api.v0.models.Product] = { SqlParser.long(prefixOpt.getOrElse("") + id).? ~ SqlParser.str(prefixOpt.getOrElse("") + title).? ~ SqlParser.str(prefixOpt.getOrElse("") + handle).? ~ SqlParser.str(prefixOpt.getOrElse("") + description).? ~ SqlParser.str(prefixOpt.getOrElse("") + descriptionHtml).? ~ SqlParser.int(prefixOpt.getOrElse("") + itemCount).? ~ SqlParser.str(prefixOpt.getOrElse("") + productType).? ~ SqlParser.str(prefixOpt.getOrElse("") + gender).? ~ SqlParser.get[Seq[bombas.storeback.api.v0.models.Color]](prefixOpt.getOrElse("") + colors).? ~ SqlParser.get[Seq[bombas.storeback.api.v0.models.Size]](prefixOpt.getOrElse("") + sizes).? ~ SqlParser.get[Seq[_root_.play.api.libs.json.JsObject]](prefixOpt.getOrElse("") + images).? ~ SqlParser.get[Seq[bombas.storeback.api.v0.models.Variant]](prefixOpt.getOrElse("") + variants).? ~ SqlParser.get[Seq[bombas.storeback.api.v0.models.Breadcrumb]](prefixOpt.getOrElse("") + breadcrumbs).? ~ SqlParser.get[Seq[bombas.storeback.api.v0.models.Detail]](prefixOpt.getOrElse("") + details).? ~ SqlParser.str(prefixOpt.getOrElse("") + createdAt).? ~ SqlParser.str(prefixOpt.getOrElse("") + updatedAt).? map { case id ~ title ~ handle ~ description ~ descriptionHtml ~ itemCount ~ productType ~ gender ~ colors ~ sizes ~ images ~ variants ~ breadcrumbs ~ details ~ createdAt ~ updatedAt => { bombas.storeback.api.v0.models.Product( id = id, title = title, handle = handle, description = description, descriptionHtml = descriptionHtml, itemCount = itemCount, productType = productType, gender = gender, colors = colors, sizes = sizes, images = images, variants = variants, breadcrumbs = breadcrumbs, details = details, createdAt = createdAt, updatedAt = updatedAt ) } } } } object Shipping { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[bombas.storeback.api.v0.models.Shipping] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( requiresShipping: String = "requires_shipping", grams: String = "grams", weight: String = "weight", weightUnit: String = "weight_unit", prefixOpt: Option[String] = None ): RowParser[bombas.storeback.api.v0.models.Shipping] = { SqlParser.bool(prefixOpt.getOrElse("") + requiresShipping).? ~ SqlParser.int(prefixOpt.getOrElse("") + grams).? ~ SqlParser.int(prefixOpt.getOrElse("") + weight).? ~ SqlParser.str(prefixOpt.getOrElse("") + weightUnit).? map { case requiresShipping ~ grams ~ weight ~ weightUnit => { bombas.storeback.api.v0.models.Shipping( requiresShipping = requiresShipping, grams = grams, weight = weight, weightUnit = weightUnit ) } } } } object Size { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[bombas.storeback.api.v0.models.Size] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( name: String = "name", values: String = "values", prefixOpt: Option[String] = None ): RowParser[bombas.storeback.api.v0.models.Size] = { SqlParser.str(prefixOpt.getOrElse("") + name).? ~ SqlParser.get[Seq[bombas.storeback.api.v0.models.SizeValues]](prefixOpt.getOrElse("") + values).? map { case name ~ values => { bombas.storeback.api.v0.models.Size( name = name, values = values ) } } } } object SizeValues { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[bombas.storeback.api.v0.models.SizeValues] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( id: String = "id", name: String = "name", guidance: String = "guidance", prefixOpt: Option[String] = None ): RowParser[bombas.storeback.api.v0.models.SizeValues] = { SqlParser.str(prefixOpt.getOrElse("") + id).? ~ SqlParser.str(prefixOpt.getOrElse("") + name).? ~ SqlParser.str(prefixOpt.getOrElse("") + guidance).? map { case id ~ name ~ guidance => { bombas.storeback.api.v0.models.SizeValues( id = id, name = name, guidance = guidance ) } } } } object Tech { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[bombas.storeback.api.v0.models.Tech] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( title: String = "title", handle: String = "handle", content: String = "content", prefixOpt: Option[String] = None ): RowParser[bombas.storeback.api.v0.models.Tech] = { SqlParser.str(prefixOpt.getOrElse("") + title).? ~ SqlParser.str(prefixOpt.getOrElse("") + handle).? ~ SqlParser.str(prefixOpt.getOrElse("") + content).? map { case title ~ handle ~ content => { bombas.storeback.api.v0.models.Tech( title = title, handle = handle, content = content ) } } } } object Variant { def parserWithPrefix(prefix: String, sep: String = "_"): RowParser[bombas.storeback.api.v0.models.Variant] = parser(prefixOpt = Some(s"$prefix$sep")) def parser( id: String = "id", productId: String = "product_id", sku: String = "sku", title: String = "title", isAvailable: String = "is_available", pricePrefix: String = "price", shippingPrefix: String = "shipping", createdAt: String = "created_at", updatedAt: String = "updated_at", sizes: String = "sizes", prefixOpt: Option[String] = None ): RowParser[bombas.storeback.api.v0.models.Variant] = { SqlParser.long(prefixOpt.getOrElse("") + id).? ~ SqlParser.long(prefixOpt.getOrElse("") + productId).? ~ SqlParser.str(prefixOpt.getOrElse("") + sku).? ~ SqlParser.str(prefixOpt.getOrElse("") + title).? ~ SqlParser.bool(prefixOpt.getOrElse("") + isAvailable).? ~ bombas.storeback.api.v0.anorm.parsers.Price.parserWithPrefix(prefixOpt.getOrElse("") + pricePrefix).? ~ bombas.storeback.api.v0.anorm.parsers.Shipping.parserWithPrefix(prefixOpt.getOrElse("") + shippingPrefix).? ~ SqlParser.str(prefixOpt.getOrElse("") + createdAt).? ~ SqlParser.str(prefixOpt.getOrElse("") + updatedAt).? ~ SqlParser.get[Seq[bombas.storeback.api.v0.models.Size]](prefixOpt.getOrElse("") + sizes).? map { case id ~ productId ~ sku ~ title ~ isAvailable ~ price ~ shipping ~ createdAt ~ updatedAt ~ sizes => { bombas.storeback.api.v0.models.Variant( id = id, productId = productId, sku = sku, title = title, isAvailable = isAvailable, price = price, shipping = shipping, createdAt = createdAt, updatedAt = updatedAt, sizes = sizes ) } } } } }