import FluentKit import Foundation /// A FluentKit model of a single `example_records` row. /// /// This is reference scaffolding: it demonstrates the model → migration → repository pattern the rest of /// the package is built around, and is what the tests exercise. Replace it with the first real domain model /// (paired with its own migration and repository) once one is defined. /// /// FluentKit models are mutable reference types whose property wrappers are not `Sendable`; the model never /// crosses a concurrency boundary (repositories map it to a `Sendable` snapshot before returning), so the /// conformance is declared `@unchecked Sendable`. final class ExampleRecord: Model, @unchecked Sendable { // MARK: Properties /// The name of the backing table. static let schema = "example_records" /// The row's primary key, assigned on first save. @ID(key: .id) var id: UUID? /// The row's name column. @Field(key: "name") var name: String // MARK: Initializers /// Creates an empty record, as required by FluentKit to hydrate query results. init() {} /// Creates a record with the given values. /// - Parameters: /// - id: the primary key, or `nil` to have one assigned on save. /// - name: the value of the name column. init( id: UUID? = nil, name: String ) { self.id = id self.name = name } }