Files
ccn/Packages/Persistence/Sources/Internal/Migrations/CreatePasskey.swift
T

26 lines
810 B
Swift

import FluentKit
/// Creates and drops the `passkeys` table backing ``PasskeyRecord``.
struct CreatePasskey: AsyncMigration {
// MARK: Methods
func prepare(on database: Database) async throws {
try await database.schema(PasskeyRecord.schema)
.id()
.field("user_id", .uuid, .required, .references(UserRecord.schema, "id", onDelete: .cascade))
.field("credential_id", .string, .required)
.field("public_key", .string, .required)
.field("sign_count", .int, .required)
.field("created_at", .datetime, .required)
.unique(on: "credential_id")
.create()
}
func revert(on database: Database) async throws {
try await database.schema(PasskeyRecord.schema)
.delete()
}
}