/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.12.8 * User agent: apibuilder app.apibuilder.io/apicollective/apibuilder-spec/0.12.8/flow_erm_schema */ package io.apibuilder.spec.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.spec.v0.models.Apidoc import io.apibuilder.spec.v0.models.Application import io.apibuilder.spec.v0.models.Attribute import io.apibuilder.spec.v0.models.Body import io.apibuilder.spec.v0.models.Contact import io.apibuilder.spec.v0.models.Deprecation import io.apibuilder.spec.v0.models.Enum import io.apibuilder.spec.v0.models.EnumValue import io.apibuilder.spec.v0.models.Field import io.apibuilder.spec.v0.models.Header import io.apibuilder.spec.v0.models.Import import io.apibuilder.spec.v0.models.Info import io.apibuilder.spec.v0.models.License import io.apibuilder.spec.v0.models.Method import io.apibuilder.spec.v0.models.Model import io.apibuilder.spec.v0.models.Operation import io.apibuilder.spec.v0.models.Organization import io.apibuilder.spec.v0.models.Parameter import io.apibuilder.spec.v0.models.ParameterLocation import io.apibuilder.spec.v0.models.Resource import io.apibuilder.spec.v0.models.Response import io.apibuilder.spec.v0.models.ResponseCode import io.apibuilder.spec.v0.models.Service import io.apibuilder.spec.v0.models.Union import io.apibuilder.spec.v0.models.UnionType object GeneratedErmSchema { implicit lazy val ermSpecApidoc: ErmSpec[Apidoc] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.apidoc", spec = Model(name = "apidoc", plural = "apidocs", fields = Seq( Field(name = "version", `type` = "string", required = true), )), ) implicit lazy val ermSpecApplication: ErmSpec[Application] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.application", spec = Model(name = "application", plural = "applications", fields = Seq( Field(name = "key", `type` = "string", required = true), )), ) implicit lazy val ermSpecDeprecation: ErmSpec[Deprecation] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.deprecation", spec = Model(name = "deprecation", plural = "deprecations", fields = Seq( Field(name = "description", `type` = "string", required = false), )), ) implicit lazy val ermSpecAttribute: ErmSpec[Attribute] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.attribute", spec = Model(name = "attribute", plural = "attributes", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "value", `type` = "object", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecBody: ErmSpec[Body] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.body", spec = Model(name = "body", plural = "bodies", fields = Seq( Field(name = "type", `type` = "string", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), Field(name = "attributes", `type` = "[attribute]", required = true), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.models.deprecation" -> ermSpecDeprecation, "io.apibuilder.spec.v0.models.attribute" -> ermSpecAttribute, ), ) implicit lazy val ermSpecContact: ErmSpec[Contact] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.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 ermSpecEnumValue: ErmSpec[EnumValue] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.enum_value", spec = Model(name = "enum_value", plural = "enum_values", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), Field(name = "attributes", `type` = "[attribute]", required = true), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.models.deprecation" -> ermSpecDeprecation, "io.apibuilder.spec.v0.models.attribute" -> ermSpecAttribute, ), ) implicit lazy val ermSpecEnum: ErmSpec[Enum] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.enum", spec = Model(name = "enum", plural = "enums", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "plural", `type` = "string", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), Field(name = "values", `type` = "[enum_value]", required = true), Field(name = "attributes", `type` = "[attribute]", required = true), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.models.deprecation" -> ermSpecDeprecation, "io.apibuilder.spec.v0.models.enum_value" -> ermSpecEnumValue, "io.apibuilder.spec.v0.models.attribute" -> ermSpecAttribute, ), ) implicit lazy val ermSpecField: ErmSpec[Field] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.field", spec = Model(name = "field", plural = "fields", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "type", `type` = "string", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), Field(name = "default", `type` = "string", required = false), Field(name = "required", `type` = "boolean", required = true), Field(name = "minimum", `type` = "long", required = false), Field(name = "maximum", `type` = "long", required = false), Field(name = "example", `type` = "string", required = false), Field(name = "attributes", `type` = "[attribute]", required = true), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.models.deprecation" -> ermSpecDeprecation, "io.apibuilder.spec.v0.models.attribute" -> ermSpecAttribute, ), ) implicit lazy val ermSpecHeader: ErmSpec[Header] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.header", spec = Model(name = "header", plural = "headers", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "type", `type` = "string", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), Field(name = "required", `type` = "boolean", required = true), Field(name = "default", `type` = "string", required = false), Field(name = "attributes", `type` = "[attribute]", required = true), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.models.deprecation" -> ermSpecDeprecation, "io.apibuilder.spec.v0.models.attribute" -> ermSpecAttribute, ), ) implicit lazy val ermSpecOrganization: ErmSpec[Organization] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.organization", spec = Model(name = "organization", plural = "organizations", fields = Seq( Field(name = "key", `type` = "string", required = true), )), ) implicit lazy val ermSpecImport: ErmSpec[Import] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.import", spec = Model(name = "import", plural = "imports", fields = Seq( Field(name = "uri", `type` = "string", required = true), Field(name = "namespace", `type` = "string", required = true), Field(name = "organization", `type` = "organization", required = true), Field(name = "application", `type` = "application", required = true), Field(name = "version", `type` = "string", required = true), Field(name = "enums", `type` = "[string]", required = true), Field(name = "unions", `type` = "[string]", required = true), Field(name = "models", `type` = "[string]", required = true), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.models.organization" -> ermSpecOrganization, "io.apibuilder.spec.v0.models.application" -> ermSpecApplication, ), ) implicit lazy val ermSpecLicense: ErmSpec[License] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.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.spec.v0.models.info", spec = Model(name = "info", plural = "infoes", fields = Seq( Field(name = "license", `type` = "license", required = false), Field(name = "contact", `type` = "contact", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.models.license" -> ermSpecLicense, "io.apibuilder.spec.v0.models.contact" -> ermSpecContact, ), ) implicit lazy val ermSpecModel: ErmSpec[Model] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.model", spec = Model(name = "model", plural = "models", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "plural", `type` = "string", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), Field(name = "fields", `type` = "[field]", required = true), Field(name = "attributes", `type` = "[attribute]", required = true), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.models.deprecation" -> ermSpecDeprecation, "io.apibuilder.spec.v0.models.field" -> ermSpecField, "io.apibuilder.spec.v0.models.attribute" -> ermSpecAttribute, ), ) implicit lazy val ermSpecParameter: ErmSpec[Parameter] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.parameter", spec = Model(name = "parameter", plural = "parameters", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "type", `type` = "string", required = true), Field(name = "location", `type` = "parameter_location", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), Field(name = "required", `type` = "boolean", required = true), Field(name = "default", `type` = "string", required = false), Field(name = "minimum", `type` = "long", required = false), Field(name = "maximum", `type` = "long", required = false), Field(name = "example", `type` = "string", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.enums.parameter_location" -> ermSpecParameterLocation, "io.apibuilder.spec.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecResponse: ErmSpec[Response] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.response", spec = Model(name = "response", plural = "responses", fields = Seq( Field(name = "code", `type` = "response_code", required = true), Field(name = "type", `type` = "string", required = true), Field(name = "headers", `type` = "[header]", required = false), Field(name = "description", `type` = "string", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.unions.response_code" -> ermSpecResponseCode, "io.apibuilder.spec.v0.models.header" -> ermSpecHeader, "io.apibuilder.spec.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecOperation: ErmSpec[Operation] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.operation", spec = Model(name = "operation", plural = "operations", fields = Seq( Field(name = "method", `type` = "method", required = true), Field(name = "path", `type` = "string", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), Field(name = "body", `type` = "body", required = false), Field(name = "parameters", `type` = "[parameter]", required = true), Field(name = "responses", `type` = "[response]", required = true), Field(name = "attributes", `type` = "[attribute]", required = true), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.enums.method" -> ermSpecMethod, "io.apibuilder.spec.v0.models.deprecation" -> ermSpecDeprecation, "io.apibuilder.spec.v0.models.body" -> ermSpecBody, "io.apibuilder.spec.v0.models.parameter" -> ermSpecParameter, "io.apibuilder.spec.v0.models.response" -> ermSpecResponse, "io.apibuilder.spec.v0.models.attribute" -> ermSpecAttribute, ), ) implicit lazy val ermSpecResource: ErmSpec[Resource] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.resource", spec = Model(name = "resource", plural = "resources", fields = Seq( Field(name = "type", `type` = "string", required = true), Field(name = "plural", `type` = "string", required = true), Field(name = "path", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), Field(name = "operations", `type` = "[operation]", required = true), Field(name = "attributes", `type` = "[attribute]", required = true), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.models.deprecation" -> ermSpecDeprecation, "io.apibuilder.spec.v0.models.operation" -> ermSpecOperation, "io.apibuilder.spec.v0.models.attribute" -> ermSpecAttribute, ), ) implicit lazy val ermSpecUnionType: ErmSpec[UnionType] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.union_type", spec = Model(name = "union_type", plural = "union_types", fields = Seq( Field(name = "type", `type` = "string", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), Field(name = "attributes", `type` = "[attribute]", required = true), Field(name = "default", `type` = "boolean", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.models.deprecation" -> ermSpecDeprecation, "io.apibuilder.spec.v0.models.attribute" -> ermSpecAttribute, ), ) implicit lazy val ermSpecUnion: ErmSpec[Union] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.union", spec = Model(name = "union", plural = "unions", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "plural", `type` = "string", required = true), Field(name = "discriminator", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), Field(name = "types", `type` = "[union_type]", required = true), Field(name = "attributes", `type` = "[attribute]", required = true), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.models.deprecation" -> ermSpecDeprecation, "io.apibuilder.spec.v0.models.union_type" -> ermSpecUnionType, "io.apibuilder.spec.v0.models.attribute" -> ermSpecAttribute, ), ) implicit lazy val ermSpecService: ErmSpec[Service] = ErmSpec.model( qualifiedName = "io.apibuilder.spec.v0.models.service", spec = Model(name = "service", plural = "services", fields = Seq( Field(name = "apidoc", `type` = "apidoc", required = true), Field(name = "name", `type` = "string", required = true), Field(name = "organization", `type` = "organization", required = true), Field(name = "application", `type` = "application", required = true), Field(name = "namespace", `type` = "string", required = true), Field(name = "version", `type` = "string", required = true), Field(name = "base_url", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), Field(name = "info", `type` = "info", required = true), Field(name = "headers", `type` = "[header]", required = true), Field(name = "imports", `type` = "[import]", required = true), Field(name = "enums", `type` = "[enum]", required = true), Field(name = "unions", `type` = "[union]", required = true), Field(name = "models", `type` = "[model]", required = true), Field(name = "resources", `type` = "[resource]", required = true), Field(name = "attributes", `type` = "[attribute]", required = true), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.spec.v0.models.apidoc" -> ermSpecApidoc, "io.apibuilder.spec.v0.models.organization" -> ermSpecOrganization, "io.apibuilder.spec.v0.models.application" -> ermSpecApplication, "io.apibuilder.spec.v0.models.info" -> ermSpecInfo, "io.apibuilder.spec.v0.models.header" -> ermSpecHeader, "io.apibuilder.spec.v0.models.import" -> ermSpecImport, "io.apibuilder.spec.v0.models.enum" -> ermSpecEnum, "io.apibuilder.spec.v0.models.union" -> ermSpecUnion, "io.apibuilder.spec.v0.models.model" -> ermSpecModel, "io.apibuilder.spec.v0.models.resource" -> ermSpecResource, "io.apibuilder.spec.v0.models.attribute" -> ermSpecAttribute, ), ) implicit lazy val ermSpecResponseCode: ErmSpec[ResponseCode] = ErmSpec.union( qualifiedName = "io.apibuilder.spec.v0.unions.response_code", spec = Union(name = "response_code", plural = "response_codes", discriminator = None, types = Seq( UnionType(`type` = "integer", discriminatorValue = Some("integer")), UnionType(`type` = "response_code_option", discriminatorValue = Some("response_code_option")), )), ) implicit lazy val ermSpecParameterLocation: ErmSpec[ParameterLocation] = ErmSpec.`enum`( qualifiedName = "io.apibuilder.spec.v0.enums.parameter_location", spec = Enum(name = "parameter_location", plural = "parameter_locations", values = Seq( EnumValue(name = "Path"), EnumValue(name = "Query"), EnumValue(name = "Form"), EnumValue(name = "Header"), )), ) implicit lazy val ermSpecMethod: ErmSpec[Method] = ErmSpec.`enum`( qualifiedName = "io.apibuilder.spec.v0.enums.method", spec = Enum(name = "method", plural = "methods", values = Seq( EnumValue(name = "GET"), EnumValue(name = "POST"), EnumValue(name = "PUT"), EnumValue(name = "PATCH"), EnumValue(name = "DELETE"), EnumValue(name = "HEAD"), EnumValue(name = "CONNECT"), EnumValue(name = "OPTIONS"), EnumValue(name = "TRACE"), )), ) val all: Seq[ErmSpec[_]] = Seq( ermSpecApidoc, ermSpecApplication, ermSpecDeprecation, ermSpecAttribute, ermSpecBody, ermSpecContact, ermSpecEnumValue, ermSpecEnum, ermSpecField, ermSpecHeader, ermSpecOrganization, ermSpecImport, ermSpecLicense, ermSpecInfo, ermSpecModel, ermSpecParameter, ermSpecResponse, ermSpecOperation, ermSpecResource, ermSpecUnionType, ermSpecUnion, ermSpecService, ermSpecResponseCode, ermSpecParameterLocation, ermSpecMethod, ) }