52 lines
1.2 KiB
Swift
52 lines
1.2 KiB
Swift
// 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 }
|
|
// }
|