// // SDVehicle.swift // AutoCatCore // // Created by Selim Mustafaev on 10.06.2025. // Copyright © 2025 Selim Mustafaev. All rights reserved. // import Foundation import SwiftData @Model final class SDVehicle { @Relationship(deleteRule: .cascade) var brand: SDVehicleBrand? @Relationship(deleteRule: .cascade) var model: SDVehicleModel? var color: String? var year: Int var category: String? @Relationship(deleteRule: .cascade) var engine: SDVehicleEngine? @Attribute(.unique) var number: String var currentNumber: String? var vin1: String? var vin2: String? var sts: String? var pts: String? var isRightWheel: Bool? var isJapanese: Bool? var addedDate: TimeInterval var updatedDate: TimeInterval var addedBy: String @Relationship(deleteRule: .cascade) var photos: [SDVehiclePhoto] @Relationship(deleteRule: .cascade) var ownershipPeriods: [SDVehicleOwnershipPeriod] @Relationship(deleteRule: .cascade) var events: [SDVehicleEvent] @Relationship(deleteRule: .cascade) var osagoContracts: [SDOsago] @Relationship(deleteRule: .cascade) var ads: [SDVehicleAd] @Relationship(deleteRule: .cascade) var notes: [SDVehicleNote] @Relationship(deleteRule: .cascade) var debugInfo: SDDebugInfo? var synchronized: Bool init( brand: SDVehicleBrand? = nil, model: SDVehicleModel? = nil, color: String? = nil, year: Int, category: String? = nil, engine: SDVehicleEngine? = nil, number: String, currentNumber: String? = nil, vin1: String? = nil, vin2: String? = nil, sts: String? = nil, pts: String? = nil, isRightWheel: Bool? = nil, isJapanese: Bool? = nil, addedDate: TimeInterval, updatedDate: TimeInterval, addedBy: String, photos: [SDVehiclePhoto], ownershipPeriods: [SDVehicleOwnershipPeriod], events: [SDVehicleEvent], osagoContracts: [SDOsago], ads: [SDVehicleAd], notes: [SDVehicleNote], debugInfo: SDDebugInfo? = nil, synchronized: Bool ) { self.brand = brand self.model = model self.color = color self.year = year self.category = category self.engine = engine self.number = number self.currentNumber = currentNumber self.vin1 = vin1 self.vin2 = vin2 self.sts = sts self.pts = pts self.isRightWheel = isRightWheel self.isJapanese = isJapanese self.addedDate = addedDate self.updatedDate = updatedDate self.addedBy = addedBy self.photos = photos self.ownershipPeriods = ownershipPeriods self.events = events self.osagoContracts = osagoContracts self.ads = ads self.notes = notes self.debugInfo = debugInfo self.synchronized = synchronized } }