/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.15.4 * User agent: apibuilder app.apibuilder.io/apicollective/example-interface/0.15.4/flow_erm_schema */ package io.example.interface.v0.erm import io.flow.event.relation.mapper.schema.ErmSpec import io.apibuilder.spec.v0.models.{Enum, EnumValue, Field, Model, Union, UnionType} import io.example.interface.v0.models.Guest import io.example.interface.v0.models.Person import io.example.interface.v0.models.User object GeneratedErmSchema { implicit lazy val ermSpecGuest: ErmSpec[Guest] = ErmSpec.model( qualifiedName = "io.example.interface.v0.models.guest", spec = Model(name = "guest", plural = "guests", fields = Seq( Field(name = "session_id", `type` = "string", required = true), Field(name = "email", `type` = "string", required = false), Field(name = "name", `type` = "string", required = false), )), ) implicit lazy val ermSpecUser: ErmSpec[User] = ErmSpec.model( qualifiedName = "io.example.interface.v0.models.user", spec = Model(name = "user", plural = "users", fields = Seq( Field(name = "id", `type` = "string", required = true), Field(name = "email", `type` = "string", required = false), Field(name = "name", `type` = "string", required = false), Field(name = "registration_date", `type` = "date-time-iso8601", required = true), )), ) implicit lazy val ermSpecPerson: ErmSpec[Person] = ErmSpec.union( qualifiedName = "io.example.interface.v0.unions.person", spec = Union(name = "person", plural = "people", discriminator = Some("discriminator"), types = Seq( UnionType(`type` = "guest", discriminatorValue = Some("guest")), UnionType(`type` = "user", discriminatorValue = Some("user")), )), resolved = Map[String, ErmSpec[_]]( "io.example.interface.v0.models.guest" -> ermSpecGuest, "io.example.interface.v0.models.user" -> ermSpecUser, ), ) val all: Seq[ErmSpec[_]] = Seq( ermSpecGuest, ermSpecUser, ermSpecPerson, ) }