From 98d4759f967d8673aa10fca8b8b372e9decfb112 Mon Sep 17 00:00:00 2001 From: Michael Law <1365977+lawmicha@users.noreply.github.com> Date: Mon, 27 Nov 2023 10:42:57 -0500 Subject: [PATCH] fix: Removing ModelFieldType.int64 --- .../Schema/ModelSchema+Definition.swift | 1 - .../Model/Support/Model+GraphQL.swift | 2 +- .../ModelSync/ModelSyncMetadata+Schema.swift | 2 +- .../MutationSyncMetadata+Schema.swift | 2 +- .../Migration/MutationSyncMetadataCopy.swift | 2 +- .../Storage/SQLite/ModelSchema+SQLite.swift | 2 +- .../SQLite/ModelValueConverter+SQLite.swift | 12 ++++++---- .../Subscribe/Support/Model+Sort.swift | 22 +++++++++---------- .../Sync/Support/Model+Compare.swift | 20 ++++++++--------- 9 files changed, 33 insertions(+), 32 deletions(-) diff --git a/Amplify/Categories/DataStore/Model/Internal/Schema/ModelSchema+Definition.swift b/Amplify/Categories/DataStore/Model/Internal/Schema/ModelSchema+Definition.swift index 5ff822b1e6..b27d40bb55 100644 --- a/Amplify/Categories/DataStore/Model/Internal/Schema/ModelSchema+Definition.swift +++ b/Amplify/Categories/DataStore/Model/Internal/Schema/ModelSchema+Definition.swift @@ -14,7 +14,6 @@ public enum ModelFieldType { case string case int - case int64 case double case date case dateTime diff --git a/AmplifyPlugins/Core/AWSPluginsCore/Model/Support/Model+GraphQL.swift b/AmplifyPlugins/Core/AWSPluginsCore/Model/Support/Model+GraphQL.swift index 1e9501f0fc..18acdaa684 100644 --- a/AmplifyPlugins/Core/AWSPluginsCore/Model/Support/Model+GraphQL.swift +++ b/AmplifyPlugins/Core/AWSPluginsCore/Model/Support/Model+GraphQL.swift @@ -103,7 +103,7 @@ extension Model { return Fatal.preconditionFailure("Could not turn into json object from \(value)") } } - case .string, .int, .int64, .double, .timestamp, .bool: + case .string, .int, .double, .timestamp, .bool: input[name] = value } } diff --git a/AmplifyPlugins/Core/AWSPluginsCore/Sync/ModelSync/ModelSyncMetadata+Schema.swift b/AmplifyPlugins/Core/AWSPluginsCore/Sync/ModelSync/ModelSyncMetadata+Schema.swift index 35ad339bb3..1fd0898491 100644 --- a/AmplifyPlugins/Core/AWSPluginsCore/Sync/ModelSync/ModelSyncMetadata+Schema.swift +++ b/AmplifyPlugins/Core/AWSPluginsCore/Sync/ModelSync/ModelSyncMetadata+Schema.swift @@ -27,7 +27,7 @@ extension ModelSyncMetadata { definition.fields( .id(), - .field(keys.lastSync, is: .optional, ofType: .int64) + .field(keys.lastSync, is: .optional, ofType: .int) ) } } diff --git a/AmplifyPlugins/Core/AWSPluginsCore/Sync/MutationSync/MutationSyncMetadata+Schema.swift b/AmplifyPlugins/Core/AWSPluginsCore/Sync/MutationSync/MutationSyncMetadata+Schema.swift index 042fad2cad..9ddac1677d 100644 --- a/AmplifyPlugins/Core/AWSPluginsCore/Sync/MutationSync/MutationSyncMetadata+Schema.swift +++ b/AmplifyPlugins/Core/AWSPluginsCore/Sync/MutationSync/MutationSyncMetadata+Schema.swift @@ -31,7 +31,7 @@ extension MutationSyncMetadata { definition.fields( .id(), .field(sync.deleted, is: .required, ofType: .bool), - .field(sync.lastChangedAt, is: .required, ofType: .int64), + .field(sync.lastChangedAt, is: .required, ofType: .int), .field(sync.version, is: .required, ofType: .int) ) } diff --git a/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Migration/MutationSyncMetadataCopy.swift b/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Migration/MutationSyncMetadataCopy.swift index f73f3eba55..855b3cf079 100644 --- a/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Migration/MutationSyncMetadataCopy.swift +++ b/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Migration/MutationSyncMetadataCopy.swift @@ -36,7 +36,7 @@ extension MutationSyncMetadataMigration { definition.fields( .id(), .field(sync.deleted, is: .required, ofType: .bool), - .field(sync.lastChangedAt, is: .required, ofType: .int64), + .field(sync.lastChangedAt, is: .required, ofType: .int), .field(sync.version, is: .required, ofType: .int) ) } diff --git a/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Storage/SQLite/ModelSchema+SQLite.swift b/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Storage/SQLite/ModelSchema+SQLite.swift index b54092be22..2cee4cccc6 100644 --- a/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Storage/SQLite/ModelSchema+SQLite.swift +++ b/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Storage/SQLite/ModelSchema+SQLite.swift @@ -92,7 +92,7 @@ extension ModelField: SQLColumn { switch type { case .string, .enum, .date, .dateTime, .time, .model: return .text - case .int, .int64, .bool, .timestamp: + case .int, .bool, .timestamp: return .integer case .double: return .real diff --git a/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Storage/SQLite/ModelValueConverter+SQLite.swift b/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Storage/SQLite/ModelValueConverter+SQLite.swift index a3aa9de74c..ab1a85aed9 100644 --- a/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Storage/SQLite/ModelValueConverter+SQLite.swift +++ b/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Storage/SQLite/ModelValueConverter+SQLite.swift @@ -31,9 +31,13 @@ public struct SQLiteModelValueConverter: ModelValueConverter { case .string: return value as? String case .int: - return value as? Int - case .int64: - return value as? Int64 + if let intValue = value as? Int { + return intValue + } + if let int64Value = value as? Int64 { + return int64Value + } + return nil case .double: return value as? Double case .date, .dateTime, .time: @@ -70,7 +74,7 @@ public struct SQLiteModelValueConverter: ModelValueConverter { switch fieldType { case .string, .date, .dateTime, .time: return value as? String - case .int, .int64: + case .int: return value as? Int64 case .double: return value as? Double diff --git a/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Subscribe/Support/Model+Sort.swift b/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Subscribe/Support/Model+Sort.swift index c417f0931f..4c3b72f55c 100644 --- a/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Subscribe/Support/Model+Sort.swift +++ b/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Subscribe/Support/Model+Sort.swift @@ -103,19 +103,19 @@ extension ModelSchema { value2Optional: value2Optional) .sortComparator(sortOrder: sortOrder) case .int, .timestamp: - guard let value1Optional = value1 as? Int?, let value2Optional = value2 as? Int? else { - return false + if let value1Optional = value1 as? Int?, let value2Optional = value2 as? Int? { + return ModelValueCompare(value1Optional: value1Optional, + value2Optional: value2Optional) + .sortComparator(sortOrder: sortOrder) } - return ModelValueCompare(value1Optional: value1Optional, - value2Optional: value2Optional) - .sortComparator(sortOrder: sortOrder) - case .int64: - guard let value1Optional = value1 as? Int64?, let value2Optional = value2 as? Int64? else { - return false + + if let value1Optional = value1 as? Int64?, let value2Optional = value2 as? Int64? { + return ModelValueCompare(value1Optional: value1Optional, + value2Optional: value2Optional) + .sortComparator(sortOrder: sortOrder) } - return ModelValueCompare(value1Optional: value1Optional, - value2Optional: value2Optional) - .sortComparator(sortOrder: sortOrder) + + return false case .double: guard let value1Optional = value1 as? Double?, let value2Optional = value2 as? Double? else { return false diff --git a/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Sync/Support/Model+Compare.swift b/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Sync/Support/Model+Compare.swift index a1d4290656..ca9595dbf1 100644 --- a/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Sync/Support/Model+Compare.swift +++ b/AmplifyPlugins/DataStore/Sources/AWSDataStorePlugin/Sync/Support/Model+Compare.swift @@ -56,19 +56,17 @@ extension ModelSchema { return false } case .int: - guard let value1Optional = value1 as? Int?, let value2Optional = value2 as? Int? else { - return false - } - if !compare(value1Optional, value2Optional) { - return false - } - case .int64: - guard let value1Optional = value1 as? Int64?, let value2Optional = value2 as? Int64? else { - return false + if let value1Optional = value1 as? Int?, let value2Optional = value2 as? Int? { + if !compare(value1Optional, value2Optional) { + return false + } } - if !compare(value1Optional, value2Optional) { - return false + if let value1Optional = value1 as? Int64?, let value2Optional = value2 as? Int64? { + if !compare(value1Optional, value2Optional) { + return false + } } + return false case .double: guard let value1Optional = value1 as? Double?, let value2Optional = value2 as? Double? else { return false