/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.0.1 * User agent: apibuilder app.apibuilder.io/nccloud/registry-api/0.0.1/flow_erm_schema */ package de.nccloud.registry.api.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.registry.api.v0.models.Service import de.nccloud.registry.api.v0.models.ServiceDeletedEvent import de.nccloud.registry.api.v0.models.ServiceEvent import de.nccloud.registry.api.v0.models.ServiceState import de.nccloud.registry.api.v0.models.ServiceType import de.nccloud.registry.api.v0.models.ServiceUpsertedEvent object GeneratedErmSchema { implicit lazy val ermSpecService: ErmSpec[Service] = ErmSpec.model( qualifiedName = "de.nccloud.registry.api.v0.models.service", spec = Model(name = "service", plural = "services", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "version", `type` = "string", required = true), Field(name = "state", `type` = "service_state", required = true), Field(name = "type", `type` = "service_type", required = true), Field(name = "uri", `type` = "string", required = true), Field(name = "title", `type` = "string", required = false), Field(name = "description", `type` = "string", required = false), )), resolved = Map[String, ErmSpec[_]]( "de.nccloud.registry.api.v0.enums.service_state" -> ermSpecServiceState, "de.nccloud.registry.api.v0.enums.service_type" -> ermSpecServiceType, ), ) implicit lazy val ermSpecServiceDeletedEvent: ErmSpec[ServiceDeletedEvent] = ErmSpec.model( qualifiedName = "de.nccloud.registry.api.v0.models.service_deleted_event", spec = Model(name = "service_deleted_event", plural = "service_deleted_events", fields = Seq( Field(name = "name", `type` = "string", required = true), Field(name = "timestamp", `type` = "date-time-iso8601", required = true), )), ) implicit lazy val ermSpecServiceUpsertedEvent: ErmSpec[ServiceUpsertedEvent] = ErmSpec.model( qualifiedName = "de.nccloud.registry.api.v0.models.service_upserted_event", spec = Model(name = "service_upserted_event", plural = "service_upserted_events", fields = Seq( Field(name = "service", `type` = "service", required = true), Field(name = "timestamp", `type` = "date-time-iso8601", required = true), )), resolved = Map[String, ErmSpec[_]]( "de.nccloud.registry.api.v0.models.service" -> ermSpecService, ), ) implicit lazy val ermSpecServiceEvent: ErmSpec[ServiceEvent] = ErmSpec.union( qualifiedName = "de.nccloud.registry.api.v0.unions.service_event", spec = Union(name = "service_event", plural = "service_events", discriminator = Some("type"), types = Seq( UnionType(`type` = "service_upserted_event", discriminatorValue = Some("service_upserted_event")), UnionType(`type` = "service_deleted_event", discriminatorValue = Some("service_deleted_event")), )), resolved = Map[String, ErmSpec[_]]( "de.nccloud.registry.api.v0.models.service_upserted_event" -> ermSpecServiceUpsertedEvent, "de.nccloud.registry.api.v0.models.service_deleted_event" -> ermSpecServiceDeletedEvent, ), ) implicit lazy val ermSpecServiceState: ErmSpec[ServiceState] = ErmSpec.`enum`( qualifiedName = "de.nccloud.registry.api.v0.enums.service_state", spec = Enum(name = "service_state", plural = "service_states", values = Seq( EnumValue(name = "unavailable"), EnumValue(name = "available"), EnumValue(name = "error"), )), ) implicit lazy val ermSpecServiceType: ErmSpec[ServiceType] = ErmSpec.`enum`( qualifiedName = "de.nccloud.registry.api.v0.enums.service_type", spec = Enum(name = "service_type", plural = "service_types", values = Seq( EnumValue(name = "public"), EnumValue(name = "internal"), )), ) val all: Seq[ErmSpec[_]] = Seq( ermSpecService, ermSpecServiceDeletedEvent, ermSpecServiceUpsertedEvent, ermSpecServiceEvent, ermSpecServiceState, ermSpecServiceType, ) }