/** * 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/flow_erm_schema */ package bombas.storeback.api.v0.erm import io.flow.event.relation.mapper.schema.ErmSpec import io.apibuilder.spec.v0.models.{Enum, EnumValue, Field, Model, Union, UnionType} import bombas.storeback.api.v0.models.Breadcrumb import bombas.storeback.api.v0.models.Color import bombas.storeback.api.v0.models.Detail import bombas.storeback.api.v0.models.Image import bombas.storeback.api.v0.models.Price import bombas.storeback.api.v0.models.Product import bombas.storeback.api.v0.models.Shipping import bombas.storeback.api.v0.models.Size import bombas.storeback.api.v0.models.SizeValues import bombas.storeback.api.v0.models.Tech import bombas.storeback.api.v0.models.Variant object GeneratedErmSchema { implicit lazy val ermSpecColor: ErmSpec[Color] = ErmSpec.model( qualifiedName = "bombas.storeback.api.v0.models.Color", spec = Model(name = "Color", plural = "Colors", fields = Seq( Field(name = "id", `type` = "string", required = false), Field(name = "position", `type` = "integer", required = false), Field(name = "name", `type` = "string", required = false), Field(name = "fill", `type` = "string", required = false), )), ) implicit lazy val ermSpecSizeValues: ErmSpec[SizeValues] = ErmSpec.model( qualifiedName = "bombas.storeback.api.v0.models.SizeValues", spec = Model(name = "SizeValues", plural = "SizeValues", fields = Seq( Field(name = "id", `type` = "string", required = false), Field(name = "name", `type` = "string", required = false), Field(name = "guidance", `type` = "string", required = false), )), ) implicit lazy val ermSpecSize: ErmSpec[Size] = ErmSpec.model( qualifiedName = "bombas.storeback.api.v0.models.Size", spec = Model(name = "Size", plural = "Sizes", fields = Seq( Field(name = "name", `type` = "string", required = false), Field(name = "values", `type` = "[SizeValues]", required = false), )), resolved = Map[String, ErmSpec[_]]( "bombas.storeback.api.v0.models.SizeValues" -> ermSpecSizeValues, ), ) implicit lazy val ermSpecPrice: ErmSpec[Price] = ErmSpec.model( qualifiedName = "bombas.storeback.api.v0.models.Price", spec = Model(name = "Price", plural = "Prices", fields = Seq( Field(name = "msrp", `type` = "string", required = false), Field(name = "price", `type` = "string", required = false), Field(name = "isDiscounted", `type` = "boolean", required = false), Field(name = "percentOff", `type` = "string", required = false), )), ) implicit lazy val ermSpecShipping: ErmSpec[Shipping] = ErmSpec.model( qualifiedName = "bombas.storeback.api.v0.models.Shipping", spec = Model(name = "Shipping", plural = "Shippings", fields = Seq( Field(name = "requires_shipping", `type` = "boolean", required = false), Field(name = "grams", `type` = "integer", required = false), Field(name = "weight", `type` = "integer", required = false), Field(name = "weight_unit", `type` = "string", required = false), )), ) implicit lazy val ermSpecVariant: ErmSpec[Variant] = ErmSpec.model( qualifiedName = "bombas.storeback.api.v0.models.Variant", spec = Model(name = "Variant", plural = "Variants", fields = Seq( Field(name = "id", `type` = "long", required = false), Field(name = "product_id", `type` = "long", required = false), Field(name = "sku", `type` = "string", required = false), Field(name = "title", `type` = "string", required = false), Field(name = "is_available", `type` = "boolean", required = false), Field(name = "price", `type` = "Price", required = false), Field(name = "shipping", `type` = "Shipping", required = false), Field(name = "created_at", `type` = "string", required = false), Field(name = "updated_at", `type` = "string", required = false), Field(name = "sizes", `type` = "[Size]", required = false), )), resolved = Map[String, ErmSpec[_]]( "bombas.storeback.api.v0.models.Price" -> ermSpecPrice, "bombas.storeback.api.v0.models.Shipping" -> ermSpecShipping, "bombas.storeback.api.v0.models.Size" -> ermSpecSize, ), ) implicit lazy val ermSpecBreadcrumb: ErmSpec[Breadcrumb] = ErmSpec.model( qualifiedName = "bombas.storeback.api.v0.models.Breadcrumb", spec = Model(name = "Breadcrumb", plural = "Breadcrumbs", fields = Seq( Field(name = "name", `type` = "string", required = false), Field(name = "link", `type` = "string", required = false), Field(name = "position", `type` = "integer", required = false), )), ) implicit lazy val ermSpecTech: ErmSpec[Tech] = ErmSpec.model( qualifiedName = "bombas.storeback.api.v0.models.Tech", spec = Model(name = "Tech", plural = "Teches", fields = Seq( Field(name = "title", `type` = "string", required = false), Field(name = "handle", `type` = "string", required = false), Field(name = "content", `type` = "string", required = false), )), ) implicit lazy val ermSpecDetail: ErmSpec[Detail] = ErmSpec.model( qualifiedName = "bombas.storeback.api.v0.models.Detail", spec = Model(name = "Detail", plural = "Details", fields = Seq( Field(name = "icon_handle", `type` = "string", required = false), Field(name = "title", `type` = "string", required = false), Field(name = "tech", `type` = "[Tech]", required = false), )), resolved = Map[String, ErmSpec[_]]( "bombas.storeback.api.v0.models.Tech" -> ermSpecTech, ), ) implicit lazy val ermSpecProduct: ErmSpec[Product] = ErmSpec.model( qualifiedName = "bombas.storeback.api.v0.models.Product", spec = Model(name = "Product", plural = "Products", fields = Seq( Field(name = "id", `type` = "long", required = false), Field(name = "title", `type` = "string", required = false), Field(name = "handle", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), Field(name = "description_html", `type` = "string", required = false), Field(name = "item_count", `type` = "integer", required = false), Field(name = "product_type", `type` = "string", required = false), Field(name = "gender", `type` = "string", required = false), Field(name = "colors", `type` = "[Color]", required = false), Field(name = "sizes", `type` = "[Size]", required = false), Field(name = "images", `type` = "[object]", required = false), Field(name = "variants", `type` = "[Variant]", required = false), Field(name = "breadcrumbs", `type` = "[Breadcrumb]", required = false), Field(name = "details", `type` = "[Detail]", required = false), Field(name = "created_at", `type` = "string", required = false), Field(name = "updated_at", `type` = "string", required = false), )), resolved = Map[String, ErmSpec[_]]( "bombas.storeback.api.v0.models.Color" -> ermSpecColor, "bombas.storeback.api.v0.models.Size" -> ermSpecSize, "bombas.storeback.api.v0.models.Variant" -> ermSpecVariant, "bombas.storeback.api.v0.models.Breadcrumb" -> ermSpecBreadcrumb, "bombas.storeback.api.v0.models.Detail" -> ermSpecDetail, ), ) implicit lazy val ermSpecImage: ErmSpec[Image] = ErmSpec.model( qualifiedName = "bombas.storeback.api.v0.models.Image", spec = Model(name = "Image", plural = "Images", fields = Seq( Field(name = "id", `type` = "integer", required = false), Field(name = "position", `type` = "integer", required = false), Field(name = "alt", `type` = "string", required = false), Field(name = "src", `type` = "string", required = false), )), ) val all: Seq[ErmSpec[_]] = Seq( ermSpecColor, ermSpecSizeValues, ermSpecSize, ermSpecPrice, ermSpecShipping, ermSpecVariant, ermSpecBreadcrumb, ermSpecTech, ermSpecDetail, ermSpecProduct, ermSpecImage, ) }