feat: Begins integrating database client into vapor app.
This commit is contained in:
@@ -1,51 +1,51 @@
|
||||
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 }
|
||||
}
|
||||
// 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 }
|
||||
// }
|
||||
|
||||
Reference in New Issue
Block a user