/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.0.1 * User agent: apibuilder app.apibuilder.io/apicollective/examples-graphql-users/0.0.1/flow_erm_schema */ package io.apibuilder.examples.graphql.users.erm import io.flow.event.relation.mapper.schema.ErmSpec import io.apibuilder.spec.v0.models.{Enum, EnumValue, Field, Model, Union, UnionType} import io.apibuilder.examples.graphql.users.models.User import io.apibuilder.examples.graphql.users.models.UserEmailPatchForm import io.apibuilder.examples.graphql.users.models.UserForm import io.apibuilder.examples.graphql.users.models.UserPatchForm import io.apibuilder.examples.graphql.users.models.UserStatus import io.apibuilder.examples.graphql.users.models.UserStatusPatchForm object GeneratedErmSchema { implicit lazy val ermSpecUser: ErmSpec[User] = ErmSpec.model( qualifiedName = "io.apibuilder.examples.graphql.users.models.user", spec = Model(name = "user", plural = "users", fields = Seq( Field(name = "id", `type` = "uuid", required = true), Field(name = "status", `type` = "user_status", required = true), Field(name = "email", `type` = "string", required = true), Field(name = "name", `type` = "string", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.examples.graphql.users.enums.user_status" -> ermSpecUserStatus, ), ) implicit lazy val ermSpecUserEmailPatchForm: ErmSpec[UserEmailPatchForm] = ErmSpec.model( qualifiedName = "io.apibuilder.examples.graphql.users.models.user_email_patch_form", spec = Model(name = "user_email_patch_form", plural = "user_email_patch_forms", fields = Seq( Field(name = "email", `type` = "string", required = true), )), ) implicit lazy val ermSpecUserForm: ErmSpec[UserForm] = ErmSpec.model( qualifiedName = "io.apibuilder.examples.graphql.users.models.user_form", spec = Model(name = "user_form", plural = "user_forms", fields = Seq( Field(name = "status", `type` = "user_status", required = true), Field(name = "email", `type` = "string", required = true), Field(name = "name", `type` = "string", required = false), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.examples.graphql.users.enums.user_status" -> ermSpecUserStatus, ), ) implicit lazy val ermSpecUserStatusPatchForm: ErmSpec[UserStatusPatchForm] = ErmSpec.model( qualifiedName = "io.apibuilder.examples.graphql.users.models.user_status_patch_form", spec = Model(name = "user_status_patch_form", plural = "user_status_patch_forms", fields = Seq( Field(name = "status", `type` = "user_status", required = true), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.examples.graphql.users.enums.user_status" -> ermSpecUserStatus, ), ) implicit lazy val ermSpecUserPatchForm: ErmSpec[UserPatchForm] = ErmSpec.union( qualifiedName = "io.apibuilder.examples.graphql.users.unions.user_patch_form", spec = Union(name = "user_patch_form", plural = "user_patch_forms", discriminator = Some("discriminator"), types = Seq( UnionType(`type` = "user_status_patch_form", discriminatorValue = Some("status")), UnionType(`type` = "user_email_patch_form", discriminatorValue = Some("email")), )), resolved = Map[String, ErmSpec[_]]( "io.apibuilder.examples.graphql.users.models.user_status_patch_form" -> ermSpecUserStatusPatchForm, "io.apibuilder.examples.graphql.users.models.user_email_patch_form" -> ermSpecUserEmailPatchForm, ), ) implicit lazy val ermSpecUserStatus: ErmSpec[UserStatus] = ErmSpec.`enum`( qualifiedName = "io.apibuilder.examples.graphql.users.enums.user_status", spec = Enum(name = "user_status", plural = "user_statuses", values = Seq( EnumValue(name = "active"), EnumValue(name = "inactive"), )), ) val all: Seq[ErmSpec[_]] = Seq( ermSpecUser, ermSpecUserEmailPatchForm, ermSpecUserForm, ermSpecUserStatusPatchForm, ermSpecUserPatchForm, ermSpecUserStatus, ) }