/** * Generated by API Builder - https://www.apibuilder.io * Service version: 1.0.1 * User agent: apibuilder app.apibuilder.io/gilt/gilt-public-api/1.0.1/flow_erm_schema */ package com.gilt.public.api.erm import io.flow.event.relation.mapper.schema.ErmSpec import io.apibuilder.spec.v0.models.{Enum, EnumValue, Field, Model, Union, UnionType} import com.gilt.public.api.models.Product import com.gilt.public.api.models.ProductCategories import com.gilt.public.api.models.ProductContent import com.gilt.public.api.models.SaleDetail import com.gilt.public.api.models.SaleList import com.gilt.public.api.models.Sku import com.gilt.public.api.models.Store object GeneratedErmSchema { implicit lazy val ermSpecProductContent: ErmSpec[ProductContent] = ErmSpec.model( qualifiedName = "com.gilt.public.api.models.product_content", spec = Model(name = "product_content", plural = "product_contents", fields = Seq( Field(name = "description", `type` = "string", required = false), Field(name = "fit_notes", `type` = "string", required = false), Field(name = "material", `type` = "string", required = false), Field(name = "care_instructions", `type` = "string", required = false), Field(name = "origin", `type` = "string", required = false), )), ) implicit lazy val ermSpecSku: ErmSpec[Sku] = ErmSpec.model( qualifiedName = "com.gilt.public.api.models.sku", spec = Model(name = "sku", plural = "skus", fields = Seq( Field(name = "id", `type` = "long", required = true), Field(name = "inventory_status", `type` = "string", required = true), Field(name = "msrp_price", `type` = "decimal", required = true), Field(name = "sale_price", `type` = "decimal", required = true), Field(name = "shipping_surcharge", `type` = "decimal", required = false), Field(name = "attributes", `type` = "[object]", required = true), )), ) implicit lazy val ermSpecProduct: ErmSpec[Product] = ErmSpec.model( qualifiedName = "com.gilt.public.api.models.product", spec = Model(name = "product", plural = "products", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "product", `type` = "string", required = true), Field(name = "id", `type` = "long", required = true), Field(name = "brand", `type` = "string", required = true), Field(name = "url", `type` = "string", required = true), Field(name = "content", `type` = "product_content", required = true), Field(name = "categories", `type` = "[string]", required = true), Field(name = "image_urls", `type` = "object", required = true), Field(name = "skus", `type` = "[sku]", required = true), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.public.api.models.product_content" -> ermSpecProductContent, "com.gilt.public.api.models.sku" -> ermSpecSku, ), ) implicit lazy val ermSpecProductCategories: ErmSpec[ProductCategories] = ErmSpec.model( qualifiedName = "com.gilt.public.api.models.product_categories", spec = Model(name = "product_categories", plural = "product_categories", fields = Seq( Field(name = "categories", `type` = "[string]", required = true), )), ) implicit lazy val ermSpecSaleDetail: ErmSpec[SaleDetail] = ErmSpec.model( qualifiedName = "com.gilt.public.api.models.sale_detail", spec = Model(name = "sale_detail", plural = "sale_details", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "sale", `type` = "string", required = true), Field(name = "sale_key", `type` = "string", required = true), Field(name = "store", `type` = "store", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "sale_url", `type` = "string", required = true), Field(name = "begins", `type` = "date-time-iso8601", required = true), Field(name = "ends", `type` = "date-time-iso8601", required = false), Field(name = "image_urls", `type` = "object", required = true), Field(name = "products", `type` = "[string]", required = false), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.public.api.enums.store" -> ermSpecStore, ), ) implicit lazy val ermSpecSaleList: ErmSpec[SaleList] = ErmSpec.model( qualifiedName = "com.gilt.public.api.models.sale_list", spec = Model(name = "sale_list", plural = "sale_list", fields = Seq( Field(name = "sales", `type` = "[sale_detail]", required = true), )), resolved = Map[String, ErmSpec[_]]( "com.gilt.public.api.models.sale_detail" -> ermSpecSaleDetail, ), ) implicit lazy val ermSpecStore: ErmSpec[Store] = ErmSpec.`enum`( qualifiedName = "com.gilt.public.api.enums.store", spec = Enum(name = "store", plural = "stores", values = Seq( EnumValue(name = "women"), EnumValue(name = "men"), EnumValue(name = "kids"), EnumValue(name = "home"), )), ) val all: Seq[ErmSpec[_]] = Seq( ermSpecProductContent, ermSpecSku, ermSpecProduct, ermSpecProductCategories, ermSpecSaleDetail, ermSpecSaleList, ermSpecStore, ) }