/** * Generated by API Builder - https://www.apibuilder.io * Service version: 0.0.1-dev * User agent: apibuilder app.apibuilder.io/nicolai-moraru/joglog-api/0.0.1-dev/flow_erm_schema */ package nm.joglog.api.v0.erm import io.flow.event.relation.mapper.schema.ErmSpec import io.apibuilder.spec.v0.models.{Enum, EnumValue, Field, Model, Union, UnionType} import nm.joglog.api.v0.models.PatchOperation import nm.joglog.api.v0.models.StringOrInteger import nm.joglog.api.v0.models.Time import nm.joglog.api.v0.models.TimeMinimal import nm.joglog.api.v0.models.TimePatchEntry import nm.joglog.api.v0.models.TimePatchPath import nm.joglog.api.v0.models.User import nm.joglog.api.v0.models.UserMinimal import nm.joglog.api.v0.models.UserPatchEntry import nm.joglog.api.v0.models.UserPatchPath import nm.joglog.api.v0.models.UserRole object GeneratedErmSchema { implicit lazy val ermSpecTime: ErmSpec[Time] = ErmSpec.model( qualifiedName = "nm.joglog.api.v0.models.time", spec = Model(name = "time", plural = "times", fields = Seq( Field(name = "id", `type` = "integer", required = true), Field(name = "distance", `type` = "integer", required = true), Field(name = "time", `type` = "integer", required = true), Field(name = "createdAt", `type` = "date-time-iso8601", required = true), Field(name = "updatedAt", `type` = "date-time-iso8601", required = true), )), ) implicit lazy val ermSpecTimeMinimal: ErmSpec[TimeMinimal] = ErmSpec.model( qualifiedName = "nm.joglog.api.v0.models.time.minimal", spec = Model(name = "time.minimal", plural = "time.minimals", fields = Seq( Field(name = "distance", `type` = "integer", required = true), Field(name = "time", `type` = "integer", required = true), )), ) implicit lazy val ermSpecTimePatchEntry: ErmSpec[TimePatchEntry] = ErmSpec.model( qualifiedName = "nm.joglog.api.v0.models.time.patch.entry", spec = Model(name = "time.patch.entry", plural = "time.patch.entries", fields = Seq( Field(name = "op", `type` = "patch.operation", required = true), Field(name = "path", `type` = "time.patch.path", required = true), Field(name = "value", `type` = "integer", required = true), )), resolved = Map[String, ErmSpec[_]]( "nm.joglog.api.v0.enums.patch.operation" -> ermSpecPatchOperation, "nm.joglog.api.v0.enums.time.patch.path" -> ermSpecTimePatchPath, ), ) implicit lazy val ermSpecUser: ErmSpec[User] = ErmSpec.model( qualifiedName = "nm.joglog.api.v0.models.user", spec = Model(name = "user", plural = "users", fields = Seq( Field(name = "id", `type` = "integer", required = true), Field(name = "username", `type` = "string", required = true), Field(name = "role", `type` = "user.role", required = true), Field(name = "createdAt", `type` = "date-time-iso8601", required = true), Field(name = "updatedAt", `type` = "date-time-iso8601", required = true), )), resolved = Map[String, ErmSpec[_]]( "nm.joglog.api.v0.enums.user.role" -> ermSpecUserRole, ), ) implicit lazy val ermSpecUserMinimal: ErmSpec[UserMinimal] = ErmSpec.model( qualifiedName = "nm.joglog.api.v0.models.user.minimal", spec = Model(name = "user.minimal", plural = "user.minimals", fields = Seq( Field(name = "username", `type` = "string", required = true), Field(name = "password", `type` = "string", required = true), )), ) implicit lazy val ermSpecUserPatchEntry: ErmSpec[UserPatchEntry] = ErmSpec.model( qualifiedName = "nm.joglog.api.v0.models.user.patch.entry", spec = Model(name = "user.patch.entry", plural = "user.patch.entries", fields = Seq( Field(name = "op", `type` = "patch.operation", required = true), Field(name = "path", `type` = "user.patch.path", required = true), Field(name = "value", `type` = "stringOrInteger", required = true), )), resolved = Map[String, ErmSpec[_]]( "nm.joglog.api.v0.enums.patch.operation" -> ermSpecPatchOperation, "nm.joglog.api.v0.enums.user.patch.path" -> ermSpecUserPatchPath, "nm.joglog.api.v0.enums.stringOrInteger" -> ermSpecStringOrInteger, ), ) implicit lazy val ermSpecPatchOperation: ErmSpec[PatchOperation] = ErmSpec.`enum`( qualifiedName = "nm.joglog.api.v0.enums.patch.operation", spec = Enum(name = "patch.operation", plural = "patch.operations", values = Seq( EnumValue(name = "test"), EnumValue(name = "replace"), )), ) implicit lazy val ermSpecTimePatchPath: ErmSpec[TimePatchPath] = ErmSpec.`enum`( qualifiedName = "nm.joglog.api.v0.enums.time.patch.path", spec = Enum(name = "time.patch.path", plural = "time.patch.paths", values = Seq( EnumValue(name = "distance"), EnumValue(name = "time"), EnumValue(name = "id"), )), ) implicit lazy val ermSpecUserRole: ErmSpec[UserRole] = ErmSpec.`enum`( qualifiedName = "nm.joglog.api.v0.enums.user.role", spec = Enum(name = "user.role", plural = "user.roles", values = Seq( EnumValue(name = "user"), EnumValue(name = "manager"), EnumValue(name = "admin"), )), ) implicit lazy val ermSpecUserPatchPath: ErmSpec[UserPatchPath] = ErmSpec.`enum`( qualifiedName = "nm.joglog.api.v0.enums.user.patch.path", spec = Enum(name = "user.patch.path", plural = "user.patch.paths", values = Seq( EnumValue(name = "username"), EnumValue(name = "password"), EnumValue(name = "role"), EnumValue(name = "id"), )), ) implicit lazy val ermSpecStringOrInteger: ErmSpec[StringOrInteger] = ErmSpec.`enum`( qualifiedName = "nm.joglog.api.v0.enums.stringOrInteger", spec = Enum(name = "stringOrInteger", plural = "stringOrIntegers", values = Seq( EnumValue(name = "string"), EnumValue(name = "integer"), )), ) val all: Seq[ErmSpec[_]] = Seq( ermSpecTime, ermSpecTimeMinimal, ermSpecTimePatchEntry, ermSpecUser, ermSpecUserMinimal, ermSpecUserPatchEntry, ermSpecPatchOperation, ermSpecTimePatchPath, ermSpecUserRole, ermSpecUserPatchPath, ermSpecStringOrInteger, ) }