From 8810412140c6e725195d26a27264d51418d988ab Mon Sep 17 00:00:00 2001 From: Selim Mustafaev Date: Sun, 12 Mar 2023 00:07:55 +0300 Subject: [PATCH] Fixing broken Encodable implementation for VehicleEvent --- .../xcshareddata/swiftpm/Package.resolved | 8 ++++---- AutoCat/Controllers/ReportController.swift | 6 +++++- AutoCatCore/Models/VehicleEvent.swift | 16 ++++++++++++++++ 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/AutoCat.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/AutoCat.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index ed39933..7238c22 100644 --- a/AutoCat.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/AutoCat.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -41,8 +41,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/realm/realm-core.git", "state" : { - "revision" : "a7d486d07b821e28ffd3587e99355a63148cbb43", - "version" : "13.4.1" + "revision" : "dd91f5f967c4ae89c37e24ab2a0315c31106648f", + "version" : "13.6.0" } }, { @@ -50,8 +50,8 @@ "kind" : "remoteSourceControl", "location" : "https://github.com/realm/realm-swift.git", "state" : { - "revision" : "4d55ba88e78ed427eae439e7c15fac2372f95c64", - "version" : "10.36.0" + "revision" : "8ac6fe1aa5d0fb0100062d80863416a4d70de8ca", + "version" : "10.37.0" } }, { diff --git a/AutoCat/Controllers/ReportController.swift b/AutoCat/Controllers/ReportController.swift index d0a2c79..997ea39 100644 --- a/AutoCat/Controllers/ReportController.swift +++ b/AutoCat/Controllers/ReportController.swift @@ -13,6 +13,10 @@ class ReportController: FormViewController, MediaBrowserViewControllerDataSource private var reportImageUrl: URL? private let logoPlaceholder = UIImage(named: "SteeringWheel") + + private let copyableTags = ["Model", "Year", "Color", "Category", "STP", "Japanese", + "PlateNumber", "VIN", "STS", "PTS", + "EngineNumber", "FuelType", "Volume", "PowerHP", "PowerKw"]; var vehicle: Vehicle? { didSet { @@ -155,7 +159,7 @@ class ReportController: FormViewController, MediaBrowserViewControllerDataSource func setupCopyBehaviour() { for row in form.allRows { - if let labelRow = row as? LabelRow { + if let labelRow = row as? LabelRow, copyableTags.contains(row.tag ?? "") { let doubleTap = UITapGestureRecognizer { _ in guard let text = labelRow.value else { return diff --git a/AutoCatCore/Models/VehicleEvent.swift b/AutoCatCore/Models/VehicleEvent.swift index 047f8a9..dfa422e 100644 --- a/AutoCatCore/Models/VehicleEvent.swift +++ b/AutoCatCore/Models/VehicleEvent.swift @@ -78,4 +78,20 @@ public class VehicleEvent: Object, Codable, Cloneable { self.number = copy.number self.addedBy = copy.addedBy } + + // MARK: - Codable + + enum CodingKeys: String, CodingKey { + case id, date, latitude, longitude, address, addedBy + } + + public func encode(to encoder: Encoder) throws { + var container = encoder.container(keyedBy: CodingKeys.self) + try container.encode(id, forKey: .id) + try container.encode(date, forKey: .date) + try container.encode(latitude, forKey: .latitude) + try container.encode(longitude, forKey: .longitude) + try container.encodeIfPresent(address, forKey: .address) + try container.encodeIfPresent(addedBy, forKey: .addedBy) + } }