Added the catalogue models and seed to support phase 5 of the POC prototype in the Persistence package.

This commit is contained in:
javier committed 2026-09-21 13:31:44 +02:00
1 parent 9403931109
commit 89a7a7b8e5
19 files changed
+990 -15

No files matched your search

@@ -0,0 +1,67 @@
import FluentKit
import Foundation
/// A FluentKit model of a single `series` row: a run of issues in the catalogue.
final class SeriesRecord: Model, @unchecked Sendable {
// MARK: Properties
static let schema = "series"
@ID(key: .id)
var id: UUID?
@Field(key: "slug")
var slug: String
@Field(key: "name")
var name: String
@Field(key: "publisher")
var publisher: String
@Field(key: "years")
var years: String
@Field(key: "issue_count")
var issueCount: Int
@Field(key: "blurb")
var blurb: String
// MARK: Initializers
init() {}
init(
_ series: Series
) {
self.slug = series.slug
self.name = series.name
self.publisher = series.publisher
self.years = series.years
self.issueCount = series.issueCount
self.blurb = series.blurb
}
}
// MARK: - Extensions
extension SeriesRecord {
// MARK: Computed
/// The `Sendable` snapshot of the record.
var snapshot: Series {
.init(
slug: slug,
name: name,
publisher: publisher,
years: years,
issueCount: issueCount,
blurb: blurb
)
}
}