import Foundation import SwiftData @Model final class Store { var name: String var createdAt: Date @Relationship(deleteRule: .cascade, inverse: \ProductRecord.store) var records: [ProductRecord] = [] init(name: String) { self.name = name self.createdAt = .now } } @Model final class ProductRecord { /// 유통기한. `hasTime`이 false면 자정으로 정규화된 날짜, true면 시각까지 포함. var expiryDate: Date /// 유통기한에 시각(시:분)이 포함되는지 여부. 기본값 false(날짜만). var hasTime: Bool = false var createdAt: Date @Attribute(.externalStorage) var imageData: Data var thumbnailData: Data var store: Store? init(expiryDate: Date, hasTime: Bool = false, imageData: Data, thumbnailData: Data, store: Store?) { self.expiryDate = expiryDate self.hasTime = hasTime self.createdAt = .now self.imageData = imageData self.thumbnailData = thumbnailData self.store = store } }