// import Fluent // import Vapor // // final class UserToken: Model, Content, @unchecked Sendable { // // static let schema = "user_token" // // @ID(key: .id) // var id: UUID? // // @Field(key: "value") // var value: String // // @Parent(key: "user_id") // var user: User // // init() {} // // init(id: UUID? = nil, value: String, userID: User.IDValue) { // self.id = id // self.value = value // $user.id = userID // } // } // // extension UserToken { // // struct Migrate: AsyncMigration { // let name = "CreateUserToken" // // func prepare(on database: any Database) async throws { // try await database.schema(UserToken.schema) // .id() // .field("value", .string, .required) // .field("user_id", .uuid, .required, .references(User.schema, "id")) // .unique(on: "value") // .create() // } // // func revert(on database: any Database) async throws { // try await database.schema(UserToken.schema).delete() // } // } // } // // extension UserToken: ModelTokenAuthenticatable { // static let valueKey = \UserToken.$value // static let userKey = \UserToken.$user // // var isValid: Bool { true } // }