import FluentSQLiteDriver import Vapor /// A registered user class Table: Model { enum Key: String { case id = "id" case name = "name" case isPublic = "public" case language = "language" var key: FieldKey { .init(stringLiteral: rawValue) } } /// The name of the SQLite table static let schema = "table" /// The unique identifier for this table. @ID(key: .id) var id: UUID? /// The user's full name. @Field(key: Key.name.key) var name: String /// The players sitting at the table @Children(for: \.$table) var players: [User] @Field(key: Key.isPublic.key) var isPublic: Bool @Enum(key: Key.language.key) var language: SupportedLanguage required init() { } /// Creates a new table. init(id: UUID? = nil, name: String, isPublic: Bool = true, language: SupportedLanguage = .english) { self.id = id self.name = name self.isPublic = isPublic self.language = language } var stringId: String { "\(id!)" } }