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

This commit is contained in:
javier committed 2026-09-21 13:52:52 +02:00
1 parent 31d2d98d49
commit 256d22df40
10 files changed
+473 -4

No files matched your search

@@ -158,6 +158,31 @@ enum Seed {
),
]
/// The demo cons, soonest first, each with the slugs of the shops trading there.
static let events: [(event: Event, shops: [String])] = [
(.init(slug: "dutch-comic-con", name: "Dutch Comic Con", venue: "Jaarbeurs, Utrecht", startsOn: day(2026, 9, 26), endsOn: day(2026, 9, 27)),
["kestrel-row-comics", "silverfish-comics", "third-panel-supply"]),
(.init(slug: "stripdagen-haarlem", name: "Stripdagen Haarlem", venue: "Grote Markt, Haarlem", startsOn: day(2026, 10, 3), endsOn: day(2026, 10, 4)),
["silverfish-comics"]),
(.init(slug: "comic-con-amsterdam", name: "Comic Con Amsterdam", venue: "RAI, Amsterdam", startsOn: day(2026, 11, 21), endsOn: day(2026, 11, 22)),
["kestrel-row-comics", "inkwell-and-staple"]),
(.init(slug: "comic-con-brussels", name: "Comic Con Brussels", venue: "Tour & Taxis, Brussels", startsOn: day(2026, 12, 5), endsOn: day(2026, 12, 6)),
["third-panel-supply"]),
]
/// Noon on a day in Amsterdam, where the demo cons are dated.
static func day(
_ year: Int,
_ month: Int,
_ day: Int
) -> Date {
var calendar = Calendar(identifier: .gregorian)
calendar.timeZone = TimeZone(identifier: "Europe/Amsterdam") ?? .gmt
return calendar.date(from: .init(year: year, month: month, day: day, hour: 12)) ?? .distantPast
}
/// The runs the demo listings belong to.
static let series: [Series] = [
.init(slug: "nightward", name: "Nightward", publisher: "Meridian Comics", years: "2019–2021", issueCount: 24,