36 lines
1.2 KiB
Swift
36 lines
1.2 KiB
Swift
import Foundation
|
|
import SwiftData
|
|
|
|
final class WorkoutsContainer {
|
|
static let logger = AppLogger(
|
|
subsystem: Bundle.main.bundleIdentifier ?? "dev.rzen.indie.Workouts",
|
|
category: "WorkoutsContainer"
|
|
)
|
|
|
|
static func create() -> ModelContainer {
|
|
// Using the current models directly without migration plan to avoid reference errors
|
|
let schema = Schema(SchemaV2.models)
|
|
let configuration = ModelConfiguration(cloudKitDatabase: .automatic)
|
|
let container = try! ModelContainer(for: schema, configurations: configuration)
|
|
return container
|
|
}
|
|
|
|
@MainActor
|
|
static var preview: ModelContainer {
|
|
let configuration = ModelConfiguration(isStoredInMemoryOnly: true)
|
|
|
|
do {
|
|
let schema = Schema(SchemaV2.models)
|
|
let container = try ModelContainer(for: schema, configurations: configuration)
|
|
let context = ModelContext(container)
|
|
|
|
// Create default data for previews
|
|
DataLoader.create(modelContext: context)
|
|
|
|
return container
|
|
} catch {
|
|
fatalError("Failed to create preview ModelContainer: \(error.localizedDescription)")
|
|
}
|
|
}
|
|
}
|