import FluentKit import Foundation /// A FluentKit model of a single `users` row. final class UserRecord: Model, @unchecked Sendable { // MARK: Properties static let schema = "users" @ID(key: .id) var id: UUID? @Field(key: "email") var email: String @Field(key: "display_name") var displayName: String // MARK: Initializers init() {} /// Creates a record with the given values. /// - Parameters: /// - email: the account's normalized email address. /// - displayName: the name other people see. init( email: String, displayName: String ) { self.email = email self.displayName = displayName } } // MARK: - Extensions extension UserRecord { // MARK: Computed /// The `Sendable` snapshot of the saved record. var snapshot: User { get throws { .init( id: try requireID(), email: email, displayName: displayName ) } } }