/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.16.74 * User agent: apibuilder app.apibuilder.io/apicollective/apibuilder-api-json/0.16.74/flow_erm_schema */ package io.apibuilder.api.json.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.api.json.v0.models.Annotation import io.apibuilder.api.json.v0.models.ApiJson import io.apibuilder.api.json.v0.models.Attribute import io.apibuilder.api.json.v0.models.Body import io.apibuilder.api.json.v0.models.Contact import io.apibuilder.api.json.v0.models.Deprecation import io.apibuilder.api.json.v0.models.Enum import io.apibuilder.api.json.v0.models.EnumValue import io.apibuilder.api.json.v0.models.Field import io.apibuilder.api.json.v0.models.Header import io.apibuilder.api.json.v0.models.Import import io.apibuilder.api.json.v0.models.Info import io.apibuilder.api.json.v0.models.Interface import io.apibuilder.api.json.v0.models.License import io.apibuilder.api.json.v0.models.Model import io.apibuilder.api.json.v0.models.Operation import io.apibuilder.api.json.v0.models.Parameter import io.apibuilder.api.json.v0.models.ParameterLocation import io.apibuilder.api.json.v0.models.Resource import io.apibuilder.api.json.v0.models.Response import io.apibuilder.api.json.v0.models.TemplateDeclaration import io.apibuilder.api.json.v0.models.Templates import io.apibuilder.api.json.v0.models.Union import io.apibuilder.api.json.v0.models.UnionType object GeneratedErmSchema { implicit lazy val ermSpecDeprecation: ErmSpec[Deprecation] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.v0.models.deprecation", spec = Model(name = "deprecation", plural = "deprecations", fields = Seq( Field(name = "description", `type` = "string", required = false), )), ) implicit lazy val ermSpecAnnotation: ErmSpec[Annotation] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.v0.models.annotation", spec = Model(name = "annotation", plural = "annotations", fields = Seq( Field(name = "description", `type` = "string", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecContact: ErmSpec[Contact] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.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 ermSpecLicense: ErmSpec[License] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.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.api.json.v0.models.info", spec = Model(name = "info", plural = "infoes", fields = Seq( Field(name = "contact", `type` = "contact", required = false), Field(name = "license", `type` = "license", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.contact" -> ermSpecContact, "io.apibuilder.api.json.v0.models.license" -> ermSpecLicense, ), ) implicit lazy val ermSpecImport: ErmSpec[Import] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.v0.models.import", spec = Model(name = "import", plural = "imports", fields = Seq( Field(name = "uri", `type` = "string", required = true), )), ) implicit lazy val ermSpecAttribute: ErmSpec[Attribute] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.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), )), ) implicit lazy val ermSpecHeader: ErmSpec[Header] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.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 = "required", `type` = "boolean", required = true), Field(name = "description", `type` = "string", required = false), Field(name = "attributes", `type` = "[attribute]", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.attribute" -> ermSpecAttribute, "io.apibuilder.api.json.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecEnumValue: ErmSpec[EnumValue] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.v0.models.enum_value", spec = Model(name = "enum_value", plural = "enum_values", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "value", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), Field(name = "attributes", `type` = "[attribute]", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.attribute" -> ermSpecAttribute, "io.apibuilder.api.json.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecEnum: ErmSpec[Enum] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.v0.models.enum", spec = Model(name = "enum", plural = "enums", fields = Seq( Field(name = "plural", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), Field(name = "values", `type` = "[enum_value]", required = true), Field(name = "attributes", `type` = "[attribute]", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.enum_value" -> ermSpecEnumValue, "io.apibuilder.api.json.v0.models.attribute" -> ermSpecAttribute, "io.apibuilder.api.json.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecField: ErmSpec[Field] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.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 = "required", `type` = "boolean", required = true), Field(name = "default", `type` = "json", required = false), Field(name = "example", `type` = "string", required = false), Field(name = "minimum", `type` = "long", required = false), Field(name = "maximum", `type` = "long", required = false), Field(name = "attributes", `type` = "[attribute]", required = false), Field(name = "annotations", `type` = "[string]", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.attribute" -> ermSpecAttribute, "io.apibuilder.api.json.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecInterface: ErmSpec[Interface] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.v0.models.interface", spec = Model(name = "interface", plural = "interfaces", fields = Seq( Field(name = "plural", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), Field(name = "fields", `type` = "[field]", required = false), Field(name = "attributes", `type` = "[attribute]", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.field" -> ermSpecField, "io.apibuilder.api.json.v0.models.attribute" -> ermSpecAttribute, "io.apibuilder.api.json.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecTemplateDeclaration: ErmSpec[TemplateDeclaration] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.v0.models.template_declaration", spec = Model(name = "template_declaration", plural = "template_declarations", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "cast", `type` = "map[string]", required = false), )), ) implicit lazy val ermSpecModel: ErmSpec[Model] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.v0.models.model", spec = Model(name = "model", plural = "models", fields = Seq( Field(name = "description", `type` = "string", required = false), Field(name = "plural", `type` = "string", required = false), Field(name = "fields", `type` = "[field]", required = true), Field(name = "attributes", `type` = "[attribute]", required = false), Field(name = "interfaces", `type` = "[string]", required = false), Field(name = "templates", `type` = "[template_declaration]", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.field" -> ermSpecField, "io.apibuilder.api.json.v0.models.attribute" -> ermSpecAttribute, "io.apibuilder.api.json.v0.models.template_declaration" -> ermSpecTemplateDeclaration, "io.apibuilder.api.json.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecBody: ErmSpec[Body] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.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 = "attributes", `type` = "[attribute]", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.attribute" -> ermSpecAttribute, "io.apibuilder.api.json.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecParameter: ErmSpec[Parameter] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.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 = "required", `type` = "boolean", required = true), Field(name = "default", `type` = "json", required = false), 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 = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.enums.parameter_location" -> ermSpecParameterLocation, "io.apibuilder.api.json.v0.models.attribute" -> ermSpecAttribute, "io.apibuilder.api.json.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecResponse: ErmSpec[Response] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.v0.models.response", spec = Model(name = "response", plural = "responses", fields = Seq( 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), Field(name = "attributes", `type` = "[attribute]", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.header" -> ermSpecHeader, "io.apibuilder.api.json.v0.models.deprecation" -> ermSpecDeprecation, "io.apibuilder.api.json.v0.models.attribute" -> ermSpecAttribute, ), ) implicit lazy val ermSpecOperation: ErmSpec[Operation] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.v0.models.operation", spec = Model(name = "operation", plural = "operations", fields = Seq( Field(name = "method", `type` = "string", required = true), Field(name = "path", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), Field(name = "body", `type` = "body", required = false), Field(name = "parameters", `type` = "[parameter]", required = false), Field(name = "responses", `type` = "map[response]", required = false), Field(name = "attributes", `type` = "[attribute]", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.body" -> ermSpecBody, "io.apibuilder.api.json.v0.models.parameter" -> ermSpecParameter, "io.apibuilder.api.json.v0.models.response" -> ermSpecResponse, "io.apibuilder.api.json.v0.models.attribute" -> ermSpecAttribute, "io.apibuilder.api.json.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecResource: ErmSpec[Resource] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.v0.models.resource", spec = Model(name = "resource", plural = "resources", fields = Seq( Field(name = "path", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), Field(name = "operations", `type` = "[operation]", required = true), Field(name = "attributes", `type` = "[attribute]", required = false), Field(name = "templates", `type` = "[template_declaration]", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.operation" -> ermSpecOperation, "io.apibuilder.api.json.v0.models.attribute" -> ermSpecAttribute, "io.apibuilder.api.json.v0.models.template_declaration" -> ermSpecTemplateDeclaration, "io.apibuilder.api.json.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecTemplates: ErmSpec[Templates] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.v0.models.templates", spec = Model(name = "templates", plural = "templates", fields = Seq( Field(name = "models", `type` = "map[model]", required = false), Field(name = "resources", `type` = "map[resource]", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.model" -> ermSpecModel, "io.apibuilder.api.json.v0.models.resource" -> ermSpecResource, ), ) implicit lazy val ermSpecUnionType: ErmSpec[UnionType] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.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 = "default", `type` = "boolean", required = true), Field(name = "discriminator_value", `type` = "string", required = false), Field(name = "attributes", `type` = "[attribute]", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.attribute" -> ermSpecAttribute, "io.apibuilder.api.json.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecUnion: ErmSpec[Union] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.v0.models.union", spec = Model(name = "union", plural = "unions", fields = Seq( Field(name = "plural", `type` = "string", required = false), Field(name = "discriminator", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), Field(name = "types", `type` = "[union_type]", required = true), Field(name = "attributes", `type` = "[attribute]", required = false), Field(name = "interfaces", `type` = "[string]", required = false), Field(name = "deprecation", `type` = "deprecation", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.union_type" -> ermSpecUnionType, "io.apibuilder.api.json.v0.models.attribute" -> ermSpecAttribute, "io.apibuilder.api.json.v0.models.deprecation" -> ermSpecDeprecation, ), ) implicit lazy val ermSpecApiJson: ErmSpec[ApiJson] = ErmSpec.model( qualifiedName = "io.apibuilder.api.json.v0.models.api_json", spec = Model(name = "api_json", plural = "api_jsons", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "info", `type` = "info", required = false), Field(name = "namespace", `type` = "string", required = false), Field(name = "base_url", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), Field(name = "imports", `type` = "[import]", required = true), Field(name = "headers", `type` = "[header]", required = true), Field(name = "enums", `type` = "map[enum]", required = true), Field(name = "interfaces", `type` = "map[interface]", required = true), Field(name = "templates", `type` = "templates", required = false), Field(name = "unions", `type` = "map[union]", required = true), Field(name = "models", `type` = "map[model]", required = true), Field(name = "resources", `type` = "map[resource]", required = true), Field(name = "annotations", `type` = "map[annotation]", required = true), Field(name = "attributes", `type` = "[attribute]", required = true), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.api.json.v0.models.info" -> ermSpecInfo, "io.apibuilder.api.json.v0.models.import" -> ermSpecImport, "io.apibuilder.api.json.v0.models.header" -> ermSpecHeader, "io.apibuilder.api.json.v0.models.enum" -> ermSpecEnum, "io.apibuilder.api.json.v0.models.interface" -> ermSpecInterface, "io.apibuilder.api.json.v0.models.templates" -> ermSpecTemplates, "io.apibuilder.api.json.v0.models.union" -> ermSpecUnion, "io.apibuilder.api.json.v0.models.model" -> ermSpecModel, "io.apibuilder.api.json.v0.models.resource" -> ermSpecResource, "io.apibuilder.api.json.v0.models.annotation" -> ermSpecAnnotation, "io.apibuilder.api.json.v0.models.attribute" -> ermSpecAttribute, ), ) implicit lazy val ermSpecParameterLocation: ErmSpec[ParameterLocation] = ErmSpec.`enum`( qualifiedName = "io.apibuilder.api.json.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"), )), ) val all: Seq[ErmSpec[_]] = Seq( ermSpecDeprecation, ermSpecAnnotation, ermSpecContact, ermSpecLicense, ermSpecInfo, ermSpecImport, ermSpecAttribute, ermSpecHeader, ermSpecEnumValue, ermSpecEnum, ermSpecField, ermSpecInterface, ermSpecTemplateDeclaration, ermSpecModel, ermSpecBody, ermSpecParameter, ermSpecResponse, ermSpecOperation, ermSpecResource, ermSpecTemplates, ermSpecUnionType, ermSpecUnion, ermSpecApiJson, ermSpecParameterLocation, ) }