/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.0.1 * User agent: apibuilder app.apibuilder.io/nccloud/common/0.0.1/flow_erm_schema */ package de.nccloud.common.v0.erm import io.flow.event.relation.mapper.schema.ErmSpec import io.apibuilder.spec.v0.models.{Enum, EnumValue, Field, Model, Union, UnionType} import de.nccloud.common.v0.models.Audit import de.nccloud.common.v0.models.ErrorLinks import de.nccloud.common.v0.models.ErrorSource import de.nccloud.common.v0.models.ErrorSourceType import de.nccloud.common.v0.models.GenericError import de.nccloud.common.v0.models.HealthCheck import de.nccloud.common.v0.models.HealthStatus import de.nccloud.common.v0.models.Link import de.nccloud.common.v0.models.LinkObject import de.nccloud.common.v0.models.PageResponse import de.nccloud.common.v0.models.PagingForm import de.nccloud.common.v0.models.ServiceInfo import de.nccloud.common.v0.models.Sort import de.nccloud.common.v0.models.SortDirection object GeneratedErmSchema { implicit lazy val ermSpecAudit: ErmSpec[Audit] = ErmSpec.model( qualifiedName = "de.nccloud.common.v0.models.audit", spec = Model(name = "audit", plural = "audits", fields = Seq( Field(name = "created_at", `type` = "date-time-iso8601", required = true), Field(name = "created_by", `type` = "uuid", required = true), Field(name = "updated_at", `type` = "date-time-iso8601", required = true), Field(name = "updated_by", `type` = "uuid", required = true), )), ) implicit lazy val ermSpecErrorLinks: ErmSpec[ErrorLinks] = ErmSpec.model( qualifiedName = "de.nccloud.common.v0.models.error_links", spec = Model(name = "error_links", plural = "error_linkses", fields = Seq( Field(name = "about", `type` = "link", required = false), Field(name = "type", `type` = "link", required = false), )), resolved = Map[String, ErmSpec[_]]( "de.nccloud.common.v0.unions.link" -> ermSpecLink, ), ) implicit lazy val ermSpecErrorSource: ErmSpec[ErrorSource] = ErmSpec.model( qualifiedName = "de.nccloud.common.v0.models.error_source", spec = Model(name = "error_source", plural = "error_sources", fields = Seq( Field(name = "type", `type` = "error_source_type", required = true), Field(name = "source", `type` = "string", required = true), )), resolved = Map[String, ErmSpec[_]]( "de.nccloud.common.v0.enums.error_source_type" -> ermSpecErrorSourceType, ), ) implicit lazy val ermSpecGenericError: ErmSpec[GenericError] = ErmSpec.model( qualifiedName = "de.nccloud.common.v0.models.generic_error", spec = Model(name = "generic_error", plural = "generic_errors", fields = Seq( Field(name = "links", `type` = "error_links", required = false), Field(name = "code", `type` = "string", required = true), Field(name = "title", `type` = "string", required = true), Field(name = "detail", `type` = "string", required = true), Field(name = "source", `type` = "error_source", required = false), Field(name = "meta", `type` = "object", required = false), )), resolved = Map[String, ErmSpec[_]]( "de.nccloud.common.v0.models.error_links" -> ermSpecErrorLinks, "de.nccloud.common.v0.models.error_source" -> ermSpecErrorSource, ), ) implicit lazy val ermSpecHealthCheck: ErmSpec[HealthCheck] = ErmSpec.model( qualifiedName = "de.nccloud.common.v0.models.health_check", spec = Model(name = "health_check", plural = "health_checks", fields = Seq( Field(name = "status", `type` = "health_status", required = true), Field(name = "message", `type` = "string", required = false), )), resolved = Map[String, ErmSpec[_]]( "de.nccloud.common.v0.enums.health_status" -> ermSpecHealthStatus, ), ) implicit lazy val ermSpecLinkObject: ErmSpec[LinkObject] = ErmSpec.model( qualifiedName = "de.nccloud.common.v0.models.link_object", spec = Model(name = "link_object", plural = "link_objects", fields = Seq( Field(name = "href", `type` = "string", required = true), Field(name = "title", `type` = "string", required = false), Field(name = "type", `type` = "string", required = false), )), ) implicit lazy val ermSpecSort: ErmSpec[Sort] = ErmSpec.model( qualifiedName = "de.nccloud.common.v0.models.sort", spec = Model(name = "sort", plural = "sorts", fields = Seq( Field(name = "property", `type` = "string", required = true), Field(name = "direction", `type` = "sort_direction", required = true), )), resolved = Map[String, ErmSpec[_]]( "de.nccloud.common.v0.enums.sort_direction" -> ermSpecSortDirection, ), ) implicit lazy val ermSpecPageResponse: ErmSpec[PageResponse] = ErmSpec.model( qualifiedName = "de.nccloud.common.v0.models.page_response", spec = Model(name = "page_response", plural = "page_responses", fields = Seq( Field(name = "offset", `type` = "integer", required = true), Field(name = "limit", `type` = "integer", required = true), Field(name = "sort", `type` = "[sort]", required = true), Field(name = "total_results", `type` = "long", required = true), Field(name = "total_pages", `type` = "long", required = true), )), resolved = Map[String, ErmSpec[_]]( "de.nccloud.common.v0.models.sort" -> ermSpecSort, ), ) implicit lazy val ermSpecPagingForm: ErmSpec[PagingForm] = ErmSpec.model( qualifiedName = "de.nccloud.common.v0.models.paging_form", spec = Model(name = "paging_form", plural = "paging_forms", fields = Seq( Field(name = "offset", `type` = "integer", required = true), Field(name = "limit", `type` = "integer", required = true), Field(name = "sort", `type` = "[sort]", required = false), )), resolved = Map[String, ErmSpec[_]]( "de.nccloud.common.v0.models.sort" -> ermSpecSort, ), ) implicit lazy val ermSpecServiceInfo: ErmSpec[ServiceInfo] = ErmSpec.model( qualifiedName = "de.nccloud.common.v0.models.service_info", spec = Model(name = "service_info", plural = "service_infos", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "version", `type` = "string", required = true), Field(name = "uri", `type` = "string", required = true), Field(name = "title", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), )), ) implicit lazy val ermSpecLink: ErmSpec[Link] = ErmSpec.union( qualifiedName = "de.nccloud.common.v0.unions.link", spec = Union(name = "link", plural = "links", discriminator = None, types = Seq( UnionType(`type` = "string", discriminatorValue = Some("string")), UnionType(`type` = "link_object", discriminatorValue = Some("link_object")), )), resolved = Map[String, ErmSpec[_]]( "de.nccloud.common.v0.models.link_object" -> ermSpecLinkObject, ), ) implicit lazy val ermSpecErrorSourceType: ErmSpec[ErrorSourceType] = ErmSpec.`enum`( qualifiedName = "de.nccloud.common.v0.enums.error_source_type", spec = Enum(name = "error_source_type", plural = "error_source_types", values = Seq( EnumValue(name = "pointer"), EnumValue(name = "parameter"), EnumValue(name = "header"), )), ) implicit lazy val ermSpecHealthStatus: ErmSpec[HealthStatus] = ErmSpec.`enum`( qualifiedName = "de.nccloud.common.v0.enums.health_status", spec = Enum(name = "health_status", plural = "health_statuses", values = Seq( EnumValue(name = "running"), EnumValue(name = "starting"), EnumValue(name = "unhealthy"), )), ) implicit lazy val ermSpecSortDirection: ErmSpec[SortDirection] = ErmSpec.`enum`( qualifiedName = "de.nccloud.common.v0.enums.sort_direction", spec = Enum(name = "sort_direction", plural = "sort_directions", values = Seq( EnumValue(name = "asc"), EnumValue(name = "desc"), )), ) val all: Seq[ErmSpec[_]] = Seq( ermSpecAudit, ermSpecErrorLinks, ermSpecErrorSource, ermSpecGenericError, ermSpecHealthCheck, ermSpecLinkObject, ermSpecSort, ermSpecPageResponse, ermSpecPagingForm, ermSpecServiceInfo, ermSpecLink, ermSpecErrorSourceType, ermSpecHealthStatus, ermSpecSortDirection, ) }