// // AppVersion.swift // AltStoreCore // // Created by Riley Testut on 8/18/22. // Copyright © 2022 Riley Testut. All rights reserved. // import CoreData @objc(AppVersion) public class AppVersion: NSManagedObject, Decodable, Fetchable { /* Properties */ @NSManaged public var version: String @NSManaged public var date: Date @NSManaged public var localizedDescription: String? @NSManaged public var downloadURL: URL @NSManaged public var size: Int64 @nonobjc public var minOSVersion: OperatingSystemVersion? { guard let osVersionString = self._minOSVersion else { return nil } let osVersion = OperatingSystemVersion(string: osVersionString) return osVersion } @NSManaged @objc(minOSVersion) private var _minOSVersion: String? @nonobjc public var maxOSVersion: OperatingSystemVersion? { guard let osVersionString = self._maxOSVersion else { return nil } let osVersion = OperatingSystemVersion(string: osVersionString) return osVersion } @NSManaged @objc(maxOSVersion) private var _maxOSVersion: String? @NSManaged public var appBundleID: String @NSManaged public var sourceID: String? /* Relationships */ @NSManaged public private(set) var app: StoreApp? @NSManaged public private(set) var latestVersionApp: StoreApp? private override init(entity: NSEntityDescription, insertInto context: NSManagedObjectContext?) { super.init(entity: entity, insertInto: context) } } public extension AppVersion { @nonobjc class func fetchRequest() -> NSFetchRequest { return NSFetchRequest(entityName: "AppVersion") } }