/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.16.74 * User agent: apibuilder app.apibuilder.io/apicollective/apibuilder-swagger/0.16.74/flow_erm_schema */ package io.apibuilder.swagger.v0.erm import io.flow.event.relation.mapper.schema.ErmSpec import io.apibuilder.spec.v0.models.{Enum, EnumValue, Field, Model, Union, UnionType} import io.apibuilder.swagger.v0.models.ApiKeyInType import io.apibuilder.swagger.v0.models.CollectionFormatType import io.apibuilder.swagger.v0.models.Contact import io.apibuilder.swagger.v0.models.ExternalDocumentation import io.apibuilder.swagger.v0.models.FormatType import io.apibuilder.swagger.v0.models.Header import io.apibuilder.swagger.v0.models.Info import io.apibuilder.swagger.v0.models.Items import io.apibuilder.swagger.v0.models.ItemsType import io.apibuilder.swagger.v0.models.License import io.apibuilder.swagger.v0.models.Operation import io.apibuilder.swagger.v0.models.Parameter import io.apibuilder.swagger.v0.models.ParameterInType import io.apibuilder.swagger.v0.models.ParameterOrRef import io.apibuilder.swagger.v0.models.PathItem import io.apibuilder.swagger.v0.models.Reference import io.apibuilder.swagger.v0.models.Response import io.apibuilder.swagger.v0.models.ResponseOrRef import io.apibuilder.swagger.v0.models.Schema import io.apibuilder.swagger.v0.models.SecurityScheme import io.apibuilder.swagger.v0.models.SecuritySchemeType import io.apibuilder.swagger.v0.models.Swagger import io.apibuilder.swagger.v0.models.Tag import io.apibuilder.swagger.v0.models.Xml object GeneratedErmSchema { implicit lazy val ermSpecContact: ErmSpec[Contact] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.contact", spec = Model(name = "contact", plural = "contacts", fields = Seq( Field(name = "name", `type` = "string", required = false), Field(name = "url", `type` = "string", required = false), Field(name = "email", `type` = "string", required = false), )), ) implicit lazy val ermSpecExternalDocumentation: ErmSpec[ExternalDocumentation] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.external_documentation", spec = Model(name = "external_documentation", plural = "external_documentations", fields = Seq( Field(name = "description", `type` = "string", required = false), Field(name = "url", `type` = "string", required = true), )), ) implicit lazy val ermSpecItems: ErmSpec[Items] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.items", spec = Model(name = "items", plural = "itemses", fields = Seq( Field(name = "type", `type` = "items_type", required = true), Field(name = "format", `type` = "format_type", required = false), Field(name = "items", `type` = "items", required = false), Field(name = "collectionFormat", `type` = "collection_format_type", required = false), Field(name = "default", `type` = "object", required = false), Field(name = "maximum", `type` = "long", required = false), Field(name = "exclusiveMaximum", `type` = "boolean", required = false), Field(name = "minimum", `type` = "long", required = false), Field(name = "exclusiveMinimum", `type` = "boolean", required = false), Field(name = "maxLength", `type` = "integer", required = false), Field(name = "minLength", `type` = "integer", required = false), Field(name = "pattern", `type` = "string", required = false), Field(name = "maxItems", `type` = "integer", required = false), Field(name = "minItems", `type` = "integer", required = false), Field(name = "uniqueItems", `type` = "boolean", required = false), Field(name = "enum", `type` = "[object]", required = false), Field(name = "multipleOf", `type` = "long", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.swagger.v0.enums.items_type" -> ermSpecItemsType, "io.apibuilder.swagger.v0.enums.format_type" -> ermSpecFormatType, "io.apibuilder.swagger.v0.models.items" -> ermSpecItems, "io.apibuilder.swagger.v0.enums.collection_format_type" -> ermSpecCollectionFormatType, ), ) implicit lazy val ermSpecHeader: ErmSpec[Header] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.header", spec = Model(name = "header", plural = "headers", fields = Seq( Field(name = "description", `type` = "string", required = false), Field(name = "type", `type` = "items_type", required = true), Field(name = "format", `type` = "format_type", required = false), Field(name = "items", `type` = "items", required = false), Field(name = "collectionFormat", `type` = "collection_format_type", required = false), Field(name = "default", `type` = "object", required = false), Field(name = "maximum", `type` = "long", required = false), Field(name = "exclusiveMaximum", `type` = "boolean", required = false), Field(name = "minimum", `type` = "long", required = false), Field(name = "exclusiveMinimum", `type` = "boolean", required = false), Field(name = "maxLength", `type` = "integer", required = false), Field(name = "minLength", `type` = "integer", required = false), Field(name = "pattern", `type` = "string", required = false), Field(name = "maxItems", `type` = "integer", required = false), Field(name = "minItems", `type` = "integer", required = false), Field(name = "uniqueItems", `type` = "boolean", required = false), Field(name = "enum", `type` = "[object]", required = false), Field(name = "multipleOf", `type` = "long", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.swagger.v0.enums.items_type" -> ermSpecItemsType, "io.apibuilder.swagger.v0.enums.format_type" -> ermSpecFormatType, "io.apibuilder.swagger.v0.models.items" -> ermSpecItems, "io.apibuilder.swagger.v0.enums.collection_format_type" -> ermSpecCollectionFormatType, ), ) implicit lazy val ermSpecLicense: ErmSpec[License] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.license", spec = Model(name = "license", plural = "licenses", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "url", `type` = "string", required = false), )), ) implicit lazy val ermSpecInfo: ErmSpec[Info] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.info", spec = Model(name = "info", plural = "infoes", fields = Seq( Field(name = "title", `type` = "string", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "termsOfService", `type` = "string", required = false), Field(name = "contact", `type` = "contact", required = false), Field(name = "license", `type` = "license", required = false), Field(name = "version", `type` = "string", required = true), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.swagger.v0.models.contact" -> ermSpecContact, "io.apibuilder.swagger.v0.models.license" -> ermSpecLicense, ), ) implicit lazy val ermSpecOperation: ErmSpec[Operation] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.operation", spec = Model(name = "operation", plural = "operations", fields = Seq( Field(name = "tags", `type` = "[string]", required = false), Field(name = "summary", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), Field(name = "externalDocs", `type` = "external_documentation", required = false), Field(name = "operationId", `type` = "string", required = false), Field(name = "consumes", `type` = "[string]", required = false), Field(name = "produces", `type` = "[string]", required = false), Field(name = "parameters", `type` = "[parameter_or_ref]", required = false), Field(name = "responses", `type` = "map[response_or_ref]", required = true), Field(name = "schemes", `type` = "[string]", required = false), Field(name = "deprecated", `type` = "boolean", required = false), Field(name = "security", `type` = "[map[[string]]]", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.swagger.v0.models.external_documentation" -> ermSpecExternalDocumentation, "io.apibuilder.swagger.v0.unions.parameter_or_ref" -> ermSpecParameterOrRef, "io.apibuilder.swagger.v0.unions.response_or_ref" -> ermSpecResponseOrRef, ), ) implicit lazy val ermSpecXml: ErmSpec[Xml] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.xml", spec = Model(name = "xml", plural = "xmls", fields = Seq( Field(name = "name", `type` = "string", required = false), Field(name = "namespace", `type` = "string", required = false), Field(name = "prefix", `type` = "string", required = false), Field(name = "attribute", `type` = "boolean", required = false), Field(name = "wrapped", `type` = "boolean", required = false), )), ) implicit lazy val ermSpecSchema: ErmSpec[Schema] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.schema", spec = Model(name = "schema", plural = "schemas", fields = Seq( Field(name = "ref", `type` = "string", required = false), Field(name = "format", `type` = "format_type", required = false), Field(name = "title", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), Field(name = "default", `type` = "object", required = false), Field(name = "multipleOf", `type` = "long", required = false), Field(name = "maximum", `type` = "long", required = false), Field(name = "exclusiveMaximum", `type` = "boolean", required = false), Field(name = "minimum", `type` = "long", required = false), Field(name = "exclusiveMinimum", `type` = "boolean", required = false), Field(name = "maxLength", `type` = "integer", required = false), Field(name = "minLength", `type` = "integer", required = false), Field(name = "pattern", `type` = "string", required = false), Field(name = "maxItems", `type` = "integer", required = false), Field(name = "minItems", `type` = "integer", required = false), Field(name = "uniqueItems", `type` = "boolean", required = false), Field(name = "maxProperties", `type` = "integer", required = false), Field(name = "minProperties", `type` = "integer", required = false), Field(name = "required", `type` = "[string]", required = false), Field(name = "enum", `type` = "[object]", required = false), Field(name = "type", `type` = "[string]", required = false), Field(name = "items", `type` = "schema", required = false), Field(name = "allOf", `type` = "[schema]", required = false), Field(name = "properties", `type` = "map[schema]", required = false), Field(name = "additionalProperties", `type` = "schema", required = false), Field(name = "discriminator", `type` = "string", required = false), Field(name = "readOnly", `type` = "boolean", required = false), Field(name = "xml", `type` = "xml", required = false), Field(name = "externalDocs", `type` = "external_documentation", required = false), Field(name = "example", `type` = "object", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.swagger.v0.enums.format_type" -> ermSpecFormatType, "io.apibuilder.swagger.v0.models.schema" -> ermSpecSchema, "io.apibuilder.swagger.v0.models.xml" -> ermSpecXml, "io.apibuilder.swagger.v0.models.external_documentation" -> ermSpecExternalDocumentation, ), ) implicit lazy val ermSpecParameter: ErmSpec[Parameter] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.parameter", spec = Model(name = "parameter", plural = "parameters", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "in", `type` = "parameter_in_type", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "required", `type` = "boolean", required = true), Field(name = "schema", `type` = "schema", required = false), Field(name = "type", `type` = "string", required = false), Field(name = "format", `type` = "string", required = false), Field(name = "allowEmptyValue", `type` = "boolean", required = false), Field(name = "items", `type` = "items", required = false), Field(name = "collectionFormat", `type` = "collection_format_type", required = false), Field(name = "default", `type` = "object", required = false), Field(name = "maximum", `type` = "long", required = false), Field(name = "exclusiveMaximum", `type` = "boolean", required = false), Field(name = "minimum", `type` = "long", required = false), Field(name = "exclusiveMinimum", `type` = "boolean", required = false), Field(name = "maxLength", `type` = "integer", required = false), Field(name = "minLength", `type` = "integer", required = false), Field(name = "pattern", `type` = "string", required = false), Field(name = "maxItems", `type` = "integer", required = false), Field(name = "minItems", `type` = "integer", required = false), Field(name = "uniqueItems", `type` = "boolean", required = false), Field(name = "enum", `type` = "[object]", required = false), Field(name = "multipleOf", `type` = "long", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.swagger.v0.enums.parameter_in_type" -> ermSpecParameterInType, "io.apibuilder.swagger.v0.models.schema" -> ermSpecSchema, "io.apibuilder.swagger.v0.models.items" -> ermSpecItems, "io.apibuilder.swagger.v0.enums.collection_format_type" -> ermSpecCollectionFormatType, ), ) implicit lazy val ermSpecPathItem: ErmSpec[PathItem] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.path_item", spec = Model(name = "path_item", plural = "path_items", fields = Seq( Field(name = "ref", `type` = "string", required = false), Field(name = "get", `type` = "operation", required = false), Field(name = "put", `type` = "operation", required = false), Field(name = "post", `type` = "operation", required = false), Field(name = "delete", `type` = "operation", required = false), Field(name = "options", `type` = "operation", required = false), Field(name = "head", `type` = "operation", required = false), Field(name = "patch", `type` = "operation", required = false), Field(name = "parameters", `type` = "[parameter_or_ref]", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.swagger.v0.models.operation" -> ermSpecOperation, "io.apibuilder.swagger.v0.unions.parameter_or_ref" -> ermSpecParameterOrRef, ), ) implicit lazy val ermSpecReference: ErmSpec[Reference] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.reference", spec = Model(name = "reference", plural = "references", fields = Seq( Field(name = "ref", `type` = "string", required = true), )), ) implicit lazy val ermSpecResponse: ErmSpec[Response] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.response", spec = Model(name = "response", plural = "responses", fields = Seq( Field(name = "description", `type` = "string", required = true), Field(name = "schema", `type` = "schema", required = false), Field(name = "headers", `type` = "map[header]", required = false), Field(name = "examples", `type` = "object", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.swagger.v0.models.schema" -> ermSpecSchema, "io.apibuilder.swagger.v0.models.header" -> ermSpecHeader, ), ) implicit lazy val ermSpecSecurityScheme: ErmSpec[SecurityScheme] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.security_scheme", spec = Model(name = "security_scheme", plural = "security_schemes", fields = Seq( Field(name = "type", `type` = "security_scheme_type", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "name", `type` = "string", required = false), Field(name = "in", `type` = "api_key_in_type", required = false), Field(name = "flow", `type` = "string", required = false), Field(name = "authorizationUrl", `type` = "string", required = false), Field(name = "tokenUrl", `type` = "string", required = false), Field(name = "scopes", `type` = "map[string]", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.swagger.v0.enums.security_scheme_type" -> ermSpecSecuritySchemeType, "io.apibuilder.swagger.v0.enums.api_key_in_type" -> ermSpecApiKeyInType, ), ) implicit lazy val ermSpecTag: ErmSpec[Tag] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.tag", spec = Model(name = "tag", plural = "tags", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "externalDocs", `type` = "external_documentation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.swagger.v0.models.external_documentation" -> ermSpecExternalDocumentation, ), ) implicit lazy val ermSpecSwagger: ErmSpec[Swagger] = ErmSpec.model( qualifiedName = "io.apibuilder.swagger.v0.models.swagger", spec = Model(name = "swagger", plural = "swaggers", fields = Seq( Field(name = "swagger", `type` = "string", required = true), Field(name = "info", `type` = "info", required = true), Field(name = "host", `type` = "string", required = false), Field(name = "basePath", `type` = "string", required = false), Field(name = "schemes", `type` = "[string]", required = false), Field(name = "consumes", `type` = "[string]", required = false), Field(name = "produces", `type` = "[string]", required = false), Field(name = "paths", `type` = "map[path_item]", required = true), Field(name = "definitions", `type` = "map[schema]", required = false), Field(name = "parameters", `type` = "map[parameter]", required = false), Field(name = "responses", `type` = "map[response]", required = false), Field(name = "securityDefinitions", `type` = "map[security_scheme]", required = false), Field(name = "security", `type` = "map[string]", required = false), Field(name = "tags", `type` = "[tag]", required = false), Field(name = "externalDocs", `type` = "external_documentation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.swagger.v0.models.info" -> ermSpecInfo, "io.apibuilder.swagger.v0.models.path_item" -> ermSpecPathItem, "io.apibuilder.swagger.v0.models.schema" -> ermSpecSchema, "io.apibuilder.swagger.v0.models.parameter" -> ermSpecParameter, "io.apibuilder.swagger.v0.models.response" -> ermSpecResponse, "io.apibuilder.swagger.v0.models.security_scheme" -> ermSpecSecurityScheme, "io.apibuilder.swagger.v0.models.tag" -> ermSpecTag, "io.apibuilder.swagger.v0.models.external_documentation" -> ermSpecExternalDocumentation, ), ) implicit lazy val ermSpecParameterOrRef: ErmSpec[ParameterOrRef] = ErmSpec.union( qualifiedName = "io.apibuilder.swagger.v0.unions.parameter_or_ref", spec = Union(name = "parameter_or_ref", plural = "parameter_or_refs", discriminator = None, types = Seq( UnionType(`type` = "parameter", discriminatorValue = Some("parameter")), UnionType(`type` = "reference", discriminatorValue = Some("reference")), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.swagger.v0.models.parameter" -> ermSpecParameter, "io.apibuilder.swagger.v0.models.reference" -> ermSpecReference, ), ) implicit lazy val ermSpecResponseOrRef: ErmSpec[ResponseOrRef] = ErmSpec.union( qualifiedName = "io.apibuilder.swagger.v0.unions.response_or_ref", spec = Union(name = "response_or_ref", plural = "response_or_refs", discriminator = None, types = Seq( UnionType(`type` = "response", discriminatorValue = Some("response")), UnionType(`type` = "reference", discriminatorValue = Some("reference")), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.swagger.v0.models.response" -> ermSpecResponse, "io.apibuilder.swagger.v0.models.reference" -> ermSpecReference, ), ) implicit lazy val ermSpecItemsType: ErmSpec[ItemsType] = ErmSpec.`enum`( qualifiedName = "io.apibuilder.swagger.v0.enums.items_type", spec = Enum(name = "items_type", plural = "items_types", values = Seq( EnumValue(name = "string"), EnumValue(name = "number"), EnumValue(name = "integer"), EnumValue(name = "boolean"), EnumValue(name = "array"), )), ) implicit lazy val ermSpecFormatType: ErmSpec[FormatType] = ErmSpec.`enum`( qualifiedName = "io.apibuilder.swagger.v0.enums.format_type", spec = Enum(name = "format_type", plural = "format_types", values = Seq( EnumValue(name = "binary"), EnumValue(name = "byte"), EnumValue(name = "date"), EnumValue(name = "date-time"), EnumValue(name = "double"), EnumValue(name = "float"), EnumValue(name = "int32"), EnumValue(name = "int64"), EnumValue(name = "password"), )), ) implicit lazy val ermSpecCollectionFormatType: ErmSpec[CollectionFormatType] = ErmSpec.`enum`( qualifiedName = "io.apibuilder.swagger.v0.enums.collection_format_type", spec = Enum(name = "collection_format_type", plural = "collection_format_types", values = Seq( EnumValue(name = "csv"), EnumValue(name = "ssv"), EnumValue(name = "tsv"), EnumValue(name = "pipes"), )), ) implicit lazy val ermSpecParameterInType: ErmSpec[ParameterInType] = ErmSpec.`enum`( qualifiedName = "io.apibuilder.swagger.v0.enums.parameter_in_type", spec = Enum(name = "parameter_in_type", plural = "parameter_in_types", values = Seq( EnumValue(name = "query"), EnumValue(name = "header"), EnumValue(name = "path"), EnumValue(name = "formData"), EnumValue(name = "body"), )), ) implicit lazy val ermSpecSecuritySchemeType: ErmSpec[SecuritySchemeType] = ErmSpec.`enum`( qualifiedName = "io.apibuilder.swagger.v0.enums.security_scheme_type", spec = Enum(name = "security_scheme_type", plural = "security_scheme_types", values = Seq( EnumValue(name = "basic"), EnumValue(name = "apiKey"), EnumValue(name = "oauth2"), )), ) implicit lazy val ermSpecApiKeyInType: ErmSpec[ApiKeyInType] = ErmSpec.`enum`( qualifiedName = "io.apibuilder.swagger.v0.enums.api_key_in_type", spec = Enum(name = "api_key_in_type", plural = "api_key_in_types", values = Seq( EnumValue(name = "query"), EnumValue(name = "header"), )), ) val all: Seq[ErmSpec[_]] = Seq( ermSpecContact, ermSpecExternalDocumentation, ermSpecItems, ermSpecHeader, ermSpecLicense, ermSpecInfo, ermSpecOperation, ermSpecXml, ermSpecSchema, ermSpecParameter, ermSpecPathItem, ermSpecReference, ermSpecResponse, ermSpecSecurityScheme, ermSpecTag, ermSpecSwagger, ermSpecParameterOrRef, ermSpecResponseOrRef, ermSpecItemsType, ermSpecFormatType, ermSpecCollectionFormatType, ermSpecParameterInType, ermSpecSecuritySchemeType, ermSpecApiKeyInType, ) }