From 0aed74079c6eeaec18da61e06d7964218c916e55 Mon Sep 17 00:00:00 2001 From: Elijah Quartey Date: Tue, 28 May 2024 13:04:28 -0500 Subject: [PATCH 1/6] chore(actions): bump min swift version to 5.9 and updated CI jobs (#4916) --- .../ios/amplify_datastore.podspec | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/amplify_datastore/ios/amplify_datastore.podspec b/packages/amplify_datastore/ios/amplify_datastore.podspec index 1a2dcc8ccb..4ee2d1e300 100644 --- a/packages/amplify_datastore/ios/amplify_datastore.podspec +++ b/packages/amplify_datastore/ios/amplify_datastore.podspec @@ -20,5 +20,25 @@ The DataStore module for Amplify Flutter. s.platform = :ios, '13.0' # Flutter.framework does not contain a i386 slice. Only x86_64 simulators are supported. s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'VALID_ARCHS[sdk=iphonesimulator*]' => 'x86_64' } - s.swift_version = '5.0' + s.swift_version = '5.9' + + s.dependency 'Flutter' + s.dependency 'Starscream', '4.0.4' + + s.subspec 'Amplify' do |amplify| + amplify.source_files = 'internal/Amplify/**/*' + end + + s.subspec 'AWSPluginsCore' do |awsPluginsCore| + awsPluginsCore.source_files = 'internal/AWSPluginsCore/**/*' + awsPluginsCore.dependency 'amplify_datastore/Amplify' + end + + s.subspec 'AWSDataStorePlugin' do |awsDataStorePlugin| + awsDataStorePlugin.source_files = 'internal/AWSDataStorePlugin/**/*' + awsDataStorePlugin.dependency 'amplify_datastore/AWSPluginsCore' + awsDataStorePlugin.dependency 'amplify_datastore/Amplify' + awsDataStorePlugin.dependency 'SQLite.swift', '0.13.2' + end + end From 0ca7edd426720c20422eb34d7500ec35cf681400 Mon Sep 17 00:00:00 2001 From: Elijah Quartey Date: Wed, 22 May 2024 18:06:38 -0500 Subject: [PATCH 2/6] chore(datastore): Cocoa Pod subspec build --- .../generate_amplify_swift_command.dart | 58 ++++++++++++++++++- .../amplify_datastore/example/ios/Podfile | 5 -- .../AmplifyModelSchemaUnitTests.swift | 2 - .../AmplifySerializedModelUnitTests.swift | 2 - .../DataStoreHubEventStreamHandlerTests.swift | 3 - .../unit_tests/DataStorePluginUnitTests.swift | 2 - .../ios/unit_tests/GetJsonFromFileUtil.swift | 1 - .../GraphQLResponse+DecodeTests.swift | 2 - .../ModelSchemaEquatableExtensions.swift | 1 - .../unit_tests/QueryPaginationUnitTests.swift | 2 - .../QueryPredicateBuilderUnitTests.swift | 1 - .../QuerySortBuilderUnitTests.swift | 2 - .../FlutterSerializedModelData.swift | 2 - .../ios/unit_tests/resources/SchemaData.swift | 2 - .../ios/Classes/CognitoPlugin.swift | 2 - .../ios/Classes/DataStoreBridge.swift | 2 - .../DataStoreHubEventStreamHandler.swift | 3 +- .../DataStoreObserveEventStreamHandler.swift | 1 + .../ios/Classes/FlutterApiPlugin.swift | 2 - .../FlutterDataStoreErrorHandler.swift | 3 +- .../FlutterDataStoreRequestUtils.swift | 2 - .../ios/Classes/FlutterSchemaRegistry.swift | 1 - .../Classes/SwiftAmplifyDataStorePlugin.swift | 3 - .../api/GraphQLRequest+Extension.swift | 1 - .../Classes/api/GraphQLResponse+Decode.swift | 2 - .../ios/Classes/api/Publisher+Extension.swift | 1 - .../Classes/auth/FlutterAuthProviders.swift | 3 - .../bridge/NativeAWSAuthCognitoSession.swift | 2 - ...iveAWSCredentials+AuthAWSCredentials.swift | 1 - .../NativeAuthFetchSessionOperation.swift | 1 - ...tiveUserPoolTokens+AuthCognitoTokens.swift | 1 - .../Classes/types/hub/FlutterHubElement.swift | 2 - .../types/hub/FlutterModelSyncedEvent.swift | 2 - .../types/hub/FlutterNetworkStatusEvent.swift | 2 - .../FlutterOutboxMutationEnqueuedEvent.swift | 2 - .../FlutterOutboxMutationProcessedEvent.swift | 2 - .../types/hub/FlutterOutboxStatusEvent.swift | 2 - .../Classes/types/hub/FlutterReadyEvent.swift | 2 - ...FlutterSubscriptionsEstablishedEvent.swift | 2 - .../hub/FlutterSyncQueriesReadyEvent.swift | 2 - .../hub/FlutterSyncQueriesStartedEvent.swift | 2 - .../types/hub/FlutterSyncReceivedEvent.swift | 2 - .../Classes/types/model/FlutterAuthRule.swift | 1 - .../types/model/FlutterModelAssociation.swift | 1 - .../types/model/FlutterModelAttribute.swift | 1 - .../types/model/FlutterModelField.swift | 1 - .../types/model/FlutterModelFieldType.swift | 1 - .../types/model/FlutterModelSchema.swift | 2 - .../types/model/FlutterSerializedModel.swift | 1 - .../model/FlutterSubscriptionEvent.swift | 1 - .../types/query/QueryPaginationBuilder.swift | 1 - .../types/query/QueryPredicateBuilder.swift | 1 - .../types/query/QuerySortBuilder.swift | 2 - .../types/temporal/FlutterTemporal.swift | 1 - .../ios/Classes/utils/AtomicResult.swift | 1 + .../ios/Classes/utils/modelHelpers.swift | 1 - .../ios/amplify_datastore.podspec | 8 +-- .../ios/internal/AWSDataStorePlugin.podspec | 35 ----------- .../ios/internal/AWSPluginsCore.podspec | 32 ---------- .../ios/internal/Amplify.podspec | 29 ---------- packages/amplify_datastore/pubspec.yaml | 2 +- .../AmplifyNativeLegacyWrapperPlugin.swift | 2 - 62 files changed, 64 insertions(+), 198 deletions(-) delete mode 100644 packages/amplify_datastore/ios/internal/AWSDataStorePlugin.podspec delete mode 100644 packages/amplify_datastore/ios/internal/AWSPluginsCore.podspec delete mode 100644 packages/amplify_datastore/ios/internal/Amplify.podspec diff --git a/packages/aft/lib/src/commands/generate/generate_amplify_swift_command.dart b/packages/aft/lib/src/commands/generate/generate_amplify_swift_command.dart index 4edb41bde0..196e1953ac 100644 --- a/packages/aft/lib/src/commands/generate/generate_amplify_swift_command.dart +++ b/packages/aft/lib/src/commands/generate/generate_amplify_swift_command.dart @@ -87,6 +87,12 @@ class GenerateAmplifySwiftCommand extends AmplifyCommand with GlobOptions { ), ]; + final _importsToRemove = [ + 'import Amplify', + 'import AWSPluginsCore', + 'import AWSDataStorePlugin', + ]; + /// Downloads Amplify Swift from GitHub into a temporary directory. Future _downloadRepository() => _cloneMemo.runOnce(() async { final cloneDir = @@ -132,12 +138,55 @@ class GenerateAmplifySwiftCommand extends AmplifyCommand with GlobOptions { return worktreeDir; } + /// Find and replaces the `import` statements in the plugin files. + Future _replaceImports(Directory pluginDir) async { + final files = await pluginDir.list(recursive: true).toList(); + for (final file in files) { + if (file is! File) { + continue; + } + // Only process Swift files. + if (!file.path.endsWith('.swift')) { + continue; + } + final contents = await file.readAsString(); + // remove the list of import statement for Amplify including line breaks + final newContents = contents.split('\n').where((line) { + return !_importsToRemove.any((import) => line.contains(import)); + }).join('\n'); + await file.writeAsString(newContents); + } + } + + /// Remove `info.plist` from the plugin files. + Future _removePListFiles(Directory pluginDir) async { + final files = await pluginDir.list(recursive: true).toList(); + for (final file in files) { + if (file is! File) { + continue; + } + // Only process Info.plist files. + if (!file.path.endsWith('Info.plist')) { + continue; + } + await file.delete(); + } + } + + /// Transforms the plugin files to Amplify Flutter requirements. + Future _transformPlugin(Directory directory) async { + logger + ..info('Transforming plugin files...') + ..verbose('In ${directory.path}'); + await _replaceImports(directory); + await _removePListFiles(directory); + } + /// Sets up the Amplify Swift repo for use later Future _setupRepo() async { if (_repoCache[branchTarget] != null) { return; } - final repoDir = await _downloadRepository(); final repoRef = await _checkoutRepositoryRef(repoDir, branchTarget); @@ -151,9 +200,13 @@ class GenerateAmplifySwiftCommand extends AmplifyCommand with GlobOptions { exitError('No cached repo for branch $branchTarget'); } - return Directory.fromUri( + final pluginDir = Directory.fromUri( repoDir.uri.resolve(path), ); + + await _transformPlugin(pluginDir); + + return pluginDir; } /// Generates the Amplify Swift plugin for [plugin]. @@ -251,6 +304,7 @@ class GenerateAmplifySwiftCommand extends AmplifyCommand with GlobOptions { @override Future run() async { + logger.info('Generating Amplify Swift plugins.'); await super.run(); switch (isDiff) { case true: diff --git a/packages/amplify_datastore/example/ios/Podfile b/packages/amplify_datastore/example/ios/Podfile index c7e9d7d897..93a53a2e78 100644 --- a/packages/amplify_datastore/example/ios/Podfile +++ b/packages/amplify_datastore/example/ios/Podfile @@ -31,11 +31,6 @@ target 'Runner' do use_frameworks! use_modular_headers! - # Point pods to internal source files - pod 'Amplify', path: '../../ios/internal/', :inhibit_warnings => true - pod 'AWSPluginsCore', path: '../../ios/internal/', :inhibit_warnings => true - pod 'AWSDataStorePlugin', path: '../../ios/internal/', :inhibit_warnings => true - flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) end diff --git a/packages/amplify_datastore/example/ios/unit_tests/AmplifyModelSchemaUnitTests.swift b/packages/amplify_datastore/example/ios/unit_tests/AmplifyModelSchemaUnitTests.swift index c57cdc0bd8..cd474ce031 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/AmplifyModelSchemaUnitTests.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/AmplifyModelSchemaUnitTests.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import XCTest -import Amplify -@testable import AWSDataStorePlugin @testable import amplify_datastore class AmplifyModelSchemaUnitTests: XCTestCase { diff --git a/packages/amplify_datastore/example/ios/unit_tests/AmplifySerializedModelUnitTests.swift b/packages/amplify_datastore/example/ios/unit_tests/AmplifySerializedModelUnitTests.swift index 649784636c..4e418b25a3 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/AmplifySerializedModelUnitTests.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/AmplifySerializedModelUnitTests.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import XCTest -import Amplify -@testable import AWSDataStorePlugin @testable import amplify_datastore class AmplifySerializedModelUnitTests: XCTestCase { diff --git a/packages/amplify_datastore/example/ios/unit_tests/DataStoreHubEventStreamHandlerTests.swift b/packages/amplify_datastore/example/ios/unit_tests/DataStoreHubEventStreamHandlerTests.swift index c4c66cd225..51ab509f31 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/DataStoreHubEventStreamHandlerTests.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/DataStoreHubEventStreamHandlerTests.swift @@ -2,10 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 import XCTest -import Amplify import Combine -@testable import AWSDataStorePlugin -@testable import AWSPluginsCore @testable import amplify_datastore let testHubSchema: ModelSchema = SchemaData.PostSchema diff --git a/packages/amplify_datastore/example/ios/unit_tests/DataStorePluginUnitTests.swift b/packages/amplify_datastore/example/ios/unit_tests/DataStorePluginUnitTests.swift index beea9ba124..d2bc25c3d0 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/DataStorePluginUnitTests.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/DataStorePluginUnitTests.swift @@ -2,9 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 import XCTest -import Amplify import Combine -@testable import AWSDataStorePlugin @testable import amplify_datastore let testSchema: ModelSchema = SchemaData.PostSchema diff --git a/packages/amplify_datastore/example/ios/unit_tests/GetJsonFromFileUtil.swift b/packages/amplify_datastore/example/ios/unit_tests/GetJsonFromFileUtil.swift index d2ddcdefa4..6996de181f 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/GetJsonFromFileUtil.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/GetJsonFromFileUtil.swift @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify func readJsonMap(filePath: String) throws -> [String: Any] { if let object = try readJson(filePath: filePath) as? [String: Any] { diff --git a/packages/amplify_datastore/example/ios/unit_tests/GraphQLResponse+DecodeTests.swift b/packages/amplify_datastore/example/ios/unit_tests/GraphQLResponse+DecodeTests.swift index 2f001f6fba..3c5d1071af 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/GraphQLResponse+DecodeTests.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/GraphQLResponse+DecodeTests.swift @@ -7,8 +7,6 @@ import XCTest -@testable import Amplify -@testable import AWSPluginsCore @testable import amplify_datastore class GraphQLResponseDecodeTests: XCTestCase { diff --git a/packages/amplify_datastore/example/ios/unit_tests/ModelSchemaEquatableExtensions.swift b/packages/amplify_datastore/example/ios/unit_tests/ModelSchemaEquatableExtensions.swift index a239eccfe5..e848801cbb 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/ModelSchemaEquatableExtensions.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/ModelSchemaEquatableExtensions.swift @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify extension ModelSchema: Equatable { public static func == (lhs: ModelSchema, rhs: ModelSchema) -> Bool { diff --git a/packages/amplify_datastore/example/ios/unit_tests/QueryPaginationUnitTests.swift b/packages/amplify_datastore/example/ios/unit_tests/QueryPaginationUnitTests.swift index 73be1b7bc4..94ff600de3 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/QueryPaginationUnitTests.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/QueryPaginationUnitTests.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import XCTest -import Amplify -import AWSDataStorePlugin @testable import amplify_datastore extension QueryPaginationInput: Equatable { diff --git a/packages/amplify_datastore/example/ios/unit_tests/QueryPredicateBuilderUnitTests.swift b/packages/amplify_datastore/example/ios/unit_tests/QueryPredicateBuilderUnitTests.swift index 78a831f10b..cdf5e531e5 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/QueryPredicateBuilderUnitTests.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/QueryPredicateBuilderUnitTests.swift @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import XCTest -import Amplify @testable import amplify_datastore class QueryPredicateBuilderUnitTests: XCTestCase { diff --git a/packages/amplify_datastore/example/ios/unit_tests/QuerySortBuilderUnitTests.swift b/packages/amplify_datastore/example/ios/unit_tests/QuerySortBuilderUnitTests.swift index 267ea6e0f7..dbd40cc0e3 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/QuerySortBuilderUnitTests.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/QuerySortBuilderUnitTests.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import XCTest -import Amplify -@testable import AWSDataStorePlugin @testable import amplify_datastore // Extending for simple assertions on the objects equality. diff --git a/packages/amplify_datastore/example/ios/unit_tests/resources/FlutterSerializedModelData.swift b/packages/amplify_datastore/example/ios/unit_tests/resources/FlutterSerializedModelData.swift index 39c7dfcd1d..9e3b969c19 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/resources/FlutterSerializedModelData.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/resources/FlutterSerializedModelData.swift @@ -1,8 +1,6 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import Amplify -@testable import AWSDataStorePlugin @testable import amplify_datastore struct FlutterSerializedModelData { diff --git a/packages/amplify_datastore/example/ios/unit_tests/resources/SchemaData.swift b/packages/amplify_datastore/example/ios/unit_tests/resources/SchemaData.swift index 4e02b95f6e..de0fb9dcca 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/resources/SchemaData.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/resources/SchemaData.swift @@ -1,8 +1,6 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import Amplify -@testable import AWSDataStorePlugin @testable import amplify_datastore struct SchemaData { diff --git a/packages/amplify_datastore/ios/Classes/CognitoPlugin.swift b/packages/amplify_datastore/ios/Classes/CognitoPlugin.swift index b811599119..0af5ea2feb 100644 --- a/packages/amplify_datastore/ios/Classes/CognitoPlugin.swift +++ b/packages/amplify_datastore/ios/Classes/CognitoPlugin.swift @@ -3,8 +3,6 @@ import Flutter import UIKit -import Amplify -import AWSPluginsCore extension NativeAuthUser: AuthUser { } diff --git a/packages/amplify_datastore/ios/Classes/DataStoreBridge.swift b/packages/amplify_datastore/ios/Classes/DataStoreBridge.swift index 5bd4d38f61..93449585d7 100644 --- a/packages/amplify_datastore/ios/Classes/DataStoreBridge.swift +++ b/packages/amplify_datastore/ios/Classes/DataStoreBridge.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSDataStorePlugin import Combine public class DataStoreBridge { diff --git a/packages/amplify_datastore/ios/Classes/DataStoreHubEventStreamHandler.swift b/packages/amplify_datastore/ios/Classes/DataStoreHubEventStreamHandler.swift index cc5069eab8..d2c8e4052d 100644 --- a/packages/amplify_datastore/ios/Classes/DataStoreHubEventStreamHandler.swift +++ b/packages/amplify_datastore/ios/Classes/DataStoreHubEventStreamHandler.swift @@ -1,9 +1,8 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 +import Flutter import Foundation -import Amplify -import AWSDataStorePlugin public class DataStoreHubEventStreamHandler: NSObject, FlutterStreamHandler { private var eventSink: FlutterEventSink? diff --git a/packages/amplify_datastore/ios/Classes/DataStoreObserveEventStreamHandler.swift b/packages/amplify_datastore/ios/Classes/DataStoreObserveEventStreamHandler.swift index 958f5d5394..e4ae0c5095 100644 --- a/packages/amplify_datastore/ios/Classes/DataStoreObserveEventStreamHandler.swift +++ b/packages/amplify_datastore/ios/Classes/DataStoreObserveEventStreamHandler.swift @@ -1,6 +1,7 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 +import Flutter import Foundation public class DataStoreObserveEventStreamHandler: NSObject, FlutterStreamHandler { diff --git a/packages/amplify_datastore/ios/Classes/FlutterApiPlugin.swift b/packages/amplify_datastore/ios/Classes/FlutterApiPlugin.swift index b7e1510e58..bc447bc77e 100644 --- a/packages/amplify_datastore/ios/Classes/FlutterApiPlugin.swift +++ b/packages/amplify_datastore/ios/Classes/FlutterApiPlugin.swift @@ -1,7 +1,5 @@ import Foundation import Flutter -import Amplify -import AWSPluginsCore import Combine diff --git a/packages/amplify_datastore/ios/Classes/FlutterDataStoreErrorHandler.swift b/packages/amplify_datastore/ios/Classes/FlutterDataStoreErrorHandler.swift index e81317d1c9..8f9411b2db 100644 --- a/packages/amplify_datastore/ios/Classes/FlutterDataStoreErrorHandler.swift +++ b/packages/amplify_datastore/ios/Classes/FlutterDataStoreErrorHandler.swift @@ -1,9 +1,8 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 +import Flutter import Foundation -import Amplify -import AWSDataStorePlugin class FlutterDataStoreErrorHandler { static func handleDataStoreError(error: DataStoreError, flutterResult: FlutterResult) { diff --git a/packages/amplify_datastore/ios/Classes/FlutterDataStoreRequestUtils.swift b/packages/amplify_datastore/ios/Classes/FlutterDataStoreRequestUtils.swift index 98cbaea6f4..e0d8b989af 100644 --- a/packages/amplify_datastore/ios/Classes/FlutterDataStoreRequestUtils.swift +++ b/packages/amplify_datastore/ios/Classes/FlutterDataStoreRequestUtils.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSDataStorePlugin public enum FlutterDataStoreRequestUtils { static func getJSONValue(_ jsonDict: [String: Any]) throws -> [String: JSONValue] { diff --git a/packages/amplify_datastore/ios/Classes/FlutterSchemaRegistry.swift b/packages/amplify_datastore/ios/Classes/FlutterSchemaRegistry.swift index 30a6392b0c..66023371a8 100644 --- a/packages/amplify_datastore/ios/Classes/FlutterSchemaRegistry.swift +++ b/packages/amplify_datastore/ios/Classes/FlutterSchemaRegistry.swift @@ -1,7 +1,6 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import Amplify import Foundation // Contains the set of classes that conforms to the `Model` protocol. diff --git a/packages/amplify_datastore/ios/Classes/SwiftAmplifyDataStorePlugin.swift b/packages/amplify_datastore/ios/Classes/SwiftAmplifyDataStorePlugin.swift index 5aa7ca0f30..e94d41e0ed 100644 --- a/packages/amplify_datastore/ios/Classes/SwiftAmplifyDataStorePlugin.swift +++ b/packages/amplify_datastore/ios/Classes/SwiftAmplifyDataStorePlugin.swift @@ -3,9 +3,6 @@ import Flutter import UIKit -import Amplify -import AWSDataStorePlugin -import AWSPluginsCore import Combine public class SwiftAmplifyDataStorePlugin: NSObject, FlutterPlugin, NativeAmplifyBridge, NativeAuthBridge, NativeApiBridge { diff --git a/packages/amplify_datastore/ios/Classes/api/GraphQLRequest+Extension.swift b/packages/amplify_datastore/ios/Classes/api/GraphQLRequest+Extension.swift index 374da77e7d..9aedf6fc22 100644 --- a/packages/amplify_datastore/ios/Classes/api/GraphQLRequest+Extension.swift +++ b/packages/amplify_datastore/ios/Classes/api/GraphQLRequest+Extension.swift @@ -7,7 +7,6 @@ import Foundation -import Amplify extension GraphQLRequest { func toNativeGraphQLRequest() -> NativeGraphQLRequest { diff --git a/packages/amplify_datastore/ios/Classes/api/GraphQLResponse+Decode.swift b/packages/amplify_datastore/ios/Classes/api/GraphQLResponse+Decode.swift index 323ec7d5eb..ebc8a68819 100644 --- a/packages/amplify_datastore/ios/Classes/api/GraphQLResponse+Decode.swift +++ b/packages/amplify_datastore/ios/Classes/api/GraphQLResponse+Decode.swift @@ -7,8 +7,6 @@ import Foundation -import Amplify -import AWSPluginsCore extension GraphQLResponse { static var jsonDecoder: JSONDecoder { diff --git a/packages/amplify_datastore/ios/Classes/api/Publisher+Extension.swift b/packages/amplify_datastore/ios/Classes/api/Publisher+Extension.swift index 8b1c408ab2..a7929d992d 100644 --- a/packages/amplify_datastore/ios/Classes/api/Publisher+Extension.swift +++ b/packages/amplify_datastore/ios/Classes/api/Publisher+Extension.swift @@ -8,7 +8,6 @@ import Foundation import Combine -import Amplify extension Publisher { func toAmplifyAsyncThrowingSequence() -> (AmplifyAsyncThrowingSequence, AnyCancellable) { diff --git a/packages/amplify_datastore/ios/Classes/auth/FlutterAuthProviders.swift b/packages/amplify_datastore/ios/Classes/auth/FlutterAuthProviders.swift index 94190bc5e3..b3421c5f64 100644 --- a/packages/amplify_datastore/ios/Classes/auth/FlutterAuthProviders.swift +++ b/packages/amplify_datastore/ios/Classes/auth/FlutterAuthProviders.swift @@ -2,9 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSDataStorePlugin -import AWSPluginsCore import Flutter /// A factory of [FlutterAuthProvider] instances. Manages shared state for all providers. diff --git a/packages/amplify_datastore/ios/Classes/bridge/NativeAWSAuthCognitoSession.swift b/packages/amplify_datastore/ios/Classes/bridge/NativeAWSAuthCognitoSession.swift index 39658f4830..b93ee5e678 100644 --- a/packages/amplify_datastore/ios/Classes/bridge/NativeAWSAuthCognitoSession.swift +++ b/packages/amplify_datastore/ios/Classes/bridge/NativeAWSAuthCognitoSession.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSPluginsCore struct NativeAWSAuthCognitoSession: AuthSession, AuthAWSCredentialsProvider, diff --git a/packages/amplify_datastore/ios/Classes/bridge/NativeAWSCredentials+AuthAWSCredentials.swift b/packages/amplify_datastore/ios/Classes/bridge/NativeAWSCredentials+AuthAWSCredentials.swift index cd1954b3d9..2b6988ae1e 100644 --- a/packages/amplify_datastore/ios/Classes/bridge/NativeAWSCredentials+AuthAWSCredentials.swift +++ b/packages/amplify_datastore/ios/Classes/bridge/NativeAWSCredentials+AuthAWSCredentials.swift @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import AWSPluginsCore struct NativeAWSPermanentCredentials: AWSCredentials { let accessKeyId: String diff --git a/packages/amplify_datastore/ios/Classes/bridge/NativeAuthFetchSessionOperation.swift b/packages/amplify_datastore/ios/Classes/bridge/NativeAuthFetchSessionOperation.swift index eddcd9eec0..7e1a6dbe66 100644 --- a/packages/amplify_datastore/ios/Classes/bridge/NativeAuthFetchSessionOperation.swift +++ b/packages/amplify_datastore/ios/Classes/bridge/NativeAuthFetchSessionOperation.swift @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify // TODO: Mirgrate to Async Swift v2 public protocol AuthFetchSessionOperation: AmplifyOperation {} diff --git a/packages/amplify_datastore/ios/Classes/bridge/NativeUserPoolTokens+AuthCognitoTokens.swift b/packages/amplify_datastore/ios/Classes/bridge/NativeUserPoolTokens+AuthCognitoTokens.swift index c67036ab4c..5c219145bf 100644 --- a/packages/amplify_datastore/ios/Classes/bridge/NativeUserPoolTokens+AuthCognitoTokens.swift +++ b/packages/amplify_datastore/ios/Classes/bridge/NativeUserPoolTokens+AuthCognitoTokens.swift @@ -2,6 +2,5 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import AWSPluginsCore extension NativeUserPoolTokens: AuthCognitoTokens { } diff --git a/packages/amplify_datastore/ios/Classes/types/hub/FlutterHubElement.swift b/packages/amplify_datastore/ios/Classes/types/hub/FlutterHubElement.swift index 3f23ea36f9..0be641331e 100644 --- a/packages/amplify_datastore/ios/Classes/types/hub/FlutterHubElement.swift +++ b/packages/amplify_datastore/ios/Classes/types/hub/FlutterHubElement.swift @@ -4,8 +4,6 @@ import Foundation import Flutter import UIKit -import Amplify -import AWSDataStorePlugin import Combine public struct FlutterHubElement { diff --git a/packages/amplify_datastore/ios/Classes/types/hub/FlutterModelSyncedEvent.swift b/packages/amplify_datastore/ios/Classes/types/hub/FlutterModelSyncedEvent.swift index 84ec981a61..ca3cc514d5 100644 --- a/packages/amplify_datastore/ios/Classes/types/hub/FlutterModelSyncedEvent.swift +++ b/packages/amplify_datastore/ios/Classes/types/hub/FlutterModelSyncedEvent.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSDataStorePlugin struct FlutterModelSyncedEvent: FlutterHubEvent { var eventName: String diff --git a/packages/amplify_datastore/ios/Classes/types/hub/FlutterNetworkStatusEvent.swift b/packages/amplify_datastore/ios/Classes/types/hub/FlutterNetworkStatusEvent.swift index 68f9008003..4514d8ad33 100644 --- a/packages/amplify_datastore/ios/Classes/types/hub/FlutterNetworkStatusEvent.swift +++ b/packages/amplify_datastore/ios/Classes/types/hub/FlutterNetworkStatusEvent.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSDataStorePlugin struct FlutterNetworkStatusEvent: FlutterHubEvent { var eventName: String diff --git a/packages/amplify_datastore/ios/Classes/types/hub/FlutterOutboxMutationEnqueuedEvent.swift b/packages/amplify_datastore/ios/Classes/types/hub/FlutterOutboxMutationEnqueuedEvent.swift index 4ca3993b7d..d5ad7b24d2 100644 --- a/packages/amplify_datastore/ios/Classes/types/hub/FlutterOutboxMutationEnqueuedEvent.swift +++ b/packages/amplify_datastore/ios/Classes/types/hub/FlutterOutboxMutationEnqueuedEvent.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSDataStorePlugin struct FlutterOutboxMutationEnqueuedEvent: FlutterHubEvent { var eventName: String diff --git a/packages/amplify_datastore/ios/Classes/types/hub/FlutterOutboxMutationProcessedEvent.swift b/packages/amplify_datastore/ios/Classes/types/hub/FlutterOutboxMutationProcessedEvent.swift index 256002657b..959a6ede6a 100644 --- a/packages/amplify_datastore/ios/Classes/types/hub/FlutterOutboxMutationProcessedEvent.swift +++ b/packages/amplify_datastore/ios/Classes/types/hub/FlutterOutboxMutationProcessedEvent.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSDataStorePlugin import Combine struct FlutterOutboxMutationProcessedEvent: FlutterHubEvent { diff --git a/packages/amplify_datastore/ios/Classes/types/hub/FlutterOutboxStatusEvent.swift b/packages/amplify_datastore/ios/Classes/types/hub/FlutterOutboxStatusEvent.swift index 7d1355ae17..beafbb507f 100644 --- a/packages/amplify_datastore/ios/Classes/types/hub/FlutterOutboxStatusEvent.swift +++ b/packages/amplify_datastore/ios/Classes/types/hub/FlutterOutboxStatusEvent.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSDataStorePlugin struct FlutterOutboxStatusEvent: FlutterHubEvent { var eventName: String diff --git a/packages/amplify_datastore/ios/Classes/types/hub/FlutterReadyEvent.swift b/packages/amplify_datastore/ios/Classes/types/hub/FlutterReadyEvent.swift index a8bf0a9476..dd90f5ed95 100644 --- a/packages/amplify_datastore/ios/Classes/types/hub/FlutterReadyEvent.swift +++ b/packages/amplify_datastore/ios/Classes/types/hub/FlutterReadyEvent.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSDataStorePlugin struct FlutterReadyEvent: FlutterHubEvent { var eventName: String diff --git a/packages/amplify_datastore/ios/Classes/types/hub/FlutterSubscriptionsEstablishedEvent.swift b/packages/amplify_datastore/ios/Classes/types/hub/FlutterSubscriptionsEstablishedEvent.swift index d5403a1860..aa72700439 100644 --- a/packages/amplify_datastore/ios/Classes/types/hub/FlutterSubscriptionsEstablishedEvent.swift +++ b/packages/amplify_datastore/ios/Classes/types/hub/FlutterSubscriptionsEstablishedEvent.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSDataStorePlugin struct FlutterSubscriptionsEstablishedEvent: FlutterHubEvent { var eventName: String diff --git a/packages/amplify_datastore/ios/Classes/types/hub/FlutterSyncQueriesReadyEvent.swift b/packages/amplify_datastore/ios/Classes/types/hub/FlutterSyncQueriesReadyEvent.swift index 838ef4236e..e5fc8d702a 100644 --- a/packages/amplify_datastore/ios/Classes/types/hub/FlutterSyncQueriesReadyEvent.swift +++ b/packages/amplify_datastore/ios/Classes/types/hub/FlutterSyncQueriesReadyEvent.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSDataStorePlugin struct FlutterSyncQueriesReadyEvent: FlutterHubEvent { var eventName: String diff --git a/packages/amplify_datastore/ios/Classes/types/hub/FlutterSyncQueriesStartedEvent.swift b/packages/amplify_datastore/ios/Classes/types/hub/FlutterSyncQueriesStartedEvent.swift index 3b84b6932e..8ed302391f 100644 --- a/packages/amplify_datastore/ios/Classes/types/hub/FlutterSyncQueriesStartedEvent.swift +++ b/packages/amplify_datastore/ios/Classes/types/hub/FlutterSyncQueriesStartedEvent.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSDataStorePlugin struct FlutterSyncQueriesStartedEvent: FlutterHubEvent { var eventName: String diff --git a/packages/amplify_datastore/ios/Classes/types/hub/FlutterSyncReceivedEvent.swift b/packages/amplify_datastore/ios/Classes/types/hub/FlutterSyncReceivedEvent.swift index ba62b02dc6..2c27a0e036 100644 --- a/packages/amplify_datastore/ios/Classes/types/hub/FlutterSyncReceivedEvent.swift +++ b/packages/amplify_datastore/ios/Classes/types/hub/FlutterSyncReceivedEvent.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSDataStorePlugin struct FlutterSyncReceivedEvent: FlutterHubEvent { var eventName: String diff --git a/packages/amplify_datastore/ios/Classes/types/model/FlutterAuthRule.swift b/packages/amplify_datastore/ios/Classes/types/model/FlutterAuthRule.swift index 37d15efe91..d5d1fc2ef3 100644 --- a/packages/amplify_datastore/ios/Classes/types/model/FlutterAuthRule.swift +++ b/packages/amplify_datastore/ios/Classes/types/model/FlutterAuthRule.swift @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify public struct FlutterAuthRule { private var authStrategy: String diff --git a/packages/amplify_datastore/ios/Classes/types/model/FlutterModelAssociation.swift b/packages/amplify_datastore/ios/Classes/types/model/FlutterModelAssociation.swift index fb946fdbee..a5d4ed7bf0 100644 --- a/packages/amplify_datastore/ios/Classes/types/model/FlutterModelAssociation.swift +++ b/packages/amplify_datastore/ios/Classes/types/model/FlutterModelAssociation.swift @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify public struct FlutterModelAssociation { private let associationType: String diff --git a/packages/amplify_datastore/ios/Classes/types/model/FlutterModelAttribute.swift b/packages/amplify_datastore/ios/Classes/types/model/FlutterModelAttribute.swift index bcd5a3dddc..7a676329a8 100644 --- a/packages/amplify_datastore/ios/Classes/types/model/FlutterModelAttribute.swift +++ b/packages/amplify_datastore/ios/Classes/types/model/FlutterModelAttribute.swift @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify public enum FlutterModelAttribute { case index(fields: [String], name: String?) diff --git a/packages/amplify_datastore/ios/Classes/types/model/FlutterModelField.swift b/packages/amplify_datastore/ios/Classes/types/model/FlutterModelField.swift index ef3e4b4edb..b6b9c2b3a9 100644 --- a/packages/amplify_datastore/ios/Classes/types/model/FlutterModelField.swift +++ b/packages/amplify_datastore/ios/Classes/types/model/FlutterModelField.swift @@ -3,7 +3,6 @@ import Flutter import Foundation -import Amplify public struct FlutterModelField { public let name: String diff --git a/packages/amplify_datastore/ios/Classes/types/model/FlutterModelFieldType.swift b/packages/amplify_datastore/ios/Classes/types/model/FlutterModelFieldType.swift index d93f76e32b..2fbc654b66 100644 --- a/packages/amplify_datastore/ios/Classes/types/model/FlutterModelFieldType.swift +++ b/packages/amplify_datastore/ios/Classes/types/model/FlutterModelFieldType.swift @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify public struct FlutterModelFieldType { public let fieldType: String diff --git a/packages/amplify_datastore/ios/Classes/types/model/FlutterModelSchema.swift b/packages/amplify_datastore/ios/Classes/types/model/FlutterModelSchema.swift index 84060d079c..a4f63621f7 100644 --- a/packages/amplify_datastore/ios/Classes/types/model/FlutterModelSchema.swift +++ b/packages/amplify_datastore/ios/Classes/types/model/FlutterModelSchema.swift @@ -3,8 +3,6 @@ import Flutter import Foundation -import Amplify -import AWSPluginsCore struct FlutterModelSchema { let name: String diff --git a/packages/amplify_datastore/ios/Classes/types/model/FlutterSerializedModel.swift b/packages/amplify_datastore/ios/Classes/types/model/FlutterSerializedModel.swift index 3cca3cd7b1..914400b2d5 100644 --- a/packages/amplify_datastore/ios/Classes/types/model/FlutterSerializedModel.swift +++ b/packages/amplify_datastore/ios/Classes/types/model/FlutterSerializedModel.swift @@ -3,7 +3,6 @@ import Flutter import Foundation -import Amplify public struct FlutterSerializedModel: Model, ModelIdentifiable, JSONValueHolder { public typealias IdentifierFormat = ModelIdentifierFormat.Custom diff --git a/packages/amplify_datastore/ios/Classes/types/model/FlutterSubscriptionEvent.swift b/packages/amplify_datastore/ios/Classes/types/model/FlutterSubscriptionEvent.swift index 6dd1f3b05d..ee443e54fc 100644 --- a/packages/amplify_datastore/ios/Classes/types/model/FlutterSubscriptionEvent.swift +++ b/packages/amplify_datastore/ios/Classes/types/model/FlutterSubscriptionEvent.swift @@ -3,7 +3,6 @@ import Flutter import Foundation -import Amplify struct FlutterSubscriptionEvent { let item: FlutterSerializedModel diff --git a/packages/amplify_datastore/ios/Classes/types/query/QueryPaginationBuilder.swift b/packages/amplify_datastore/ios/Classes/types/query/QueryPaginationBuilder.swift index 1d86470697..05c410977b 100644 --- a/packages/amplify_datastore/ios/Classes/types/query/QueryPaginationBuilder.swift +++ b/packages/amplify_datastore/ios/Classes/types/query/QueryPaginationBuilder.swift @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify public enum QueryPaginationBuilder { static func fromSerializedMap(_ serializedMap: [String: Any]?) -> QueryPaginationInput? { diff --git a/packages/amplify_datastore/ios/Classes/types/query/QueryPredicateBuilder.swift b/packages/amplify_datastore/ios/Classes/types/query/QueryPredicateBuilder.swift index 1d5eb496c8..a32b290c38 100644 --- a/packages/amplify_datastore/ios/Classes/types/query/QueryPredicateBuilder.swift +++ b/packages/amplify_datastore/ios/Classes/types/query/QueryPredicateBuilder.swift @@ -3,7 +3,6 @@ import Flutter import Foundation -import Amplify public enum QueryPredicateBuilder { static func fromSerializedMap(_ serializedMap: [String: Any]?) throws -> QueryPredicate { diff --git a/packages/amplify_datastore/ios/Classes/types/query/QuerySortBuilder.swift b/packages/amplify_datastore/ios/Classes/types/query/QuerySortBuilder.swift index ed2a4be45f..b9a9a63ab8 100644 --- a/packages/amplify_datastore/ios/Classes/types/query/QuerySortBuilder.swift +++ b/packages/amplify_datastore/ios/Classes/types/query/QuerySortBuilder.swift @@ -2,8 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify -import AWSDataStorePlugin public enum QuerySortBuilder { static func fromSerializedList(_ serializedList: [[String: Any]]?) throws -> [QuerySortDescriptor]? { diff --git a/packages/amplify_datastore/ios/Classes/types/temporal/FlutterTemporal.swift b/packages/amplify_datastore/ios/Classes/types/temporal/FlutterTemporal.swift index 83b604e495..7693d9e2bf 100644 --- a/packages/amplify_datastore/ios/Classes/types/temporal/FlutterTemporal.swift +++ b/packages/amplify_datastore/ios/Classes/types/temporal/FlutterTemporal.swift @@ -1,7 +1,6 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 -import Amplify import Foundation diff --git a/packages/amplify_datastore/ios/Classes/utils/AtomicResult.swift b/packages/amplify_datastore/ios/Classes/utils/AtomicResult.swift index f7528367ab..d63bd078f1 100644 --- a/packages/amplify_datastore/ios/Classes/utils/AtomicResult.swift +++ b/packages/amplify_datastore/ios/Classes/utils/AtomicResult.swift @@ -1,6 +1,7 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 +import Flutter import Foundation // swiftlint:disable identifier_name type_name diff --git a/packages/amplify_datastore/ios/Classes/utils/modelHelpers.swift b/packages/amplify_datastore/ios/Classes/utils/modelHelpers.swift index 30f1d8ee37..0305f8682f 100644 --- a/packages/amplify_datastore/ios/Classes/utils/modelHelpers.swift +++ b/packages/amplify_datastore/ios/Classes/utils/modelHelpers.swift @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation -import Amplify public func convertToAmplifyPersistable(value: Any?) -> Persistable? { if value == nil { diff --git a/packages/amplify_datastore/ios/amplify_datastore.podspec b/packages/amplify_datastore/ios/amplify_datastore.podspec index 4ee2d1e300..893b7797b3 100644 --- a/packages/amplify_datastore/ios/amplify_datastore.podspec +++ b/packages/amplify_datastore/ios/amplify_datastore.podspec @@ -13,18 +13,16 @@ The DataStore module for Amplify Flutter. s.license = 'Apache License, Version 2.0' s.author = { 'Amazon Web Services' => 'amazonwebservices' } s.source = { :git => 'https://github.com/aws-amplify/amplify-flutter.git' } - s.source_files = 'Classes/**/*' - s.dependency 'Flutter' - s.dependency 'AWSDataStorePlugin', '0.0.1' - s.dependency 'Starscream', '4.0.4' + s.source_files = 'Classes/**/*.{swift}', 'internal/Amplify/**/*.{swift}', 'internal/AWSPluginsCore/**/*.{swift}', 'internal/AWSDataStorePlugin/**/*.{swift}' s.platform = :ios, '13.0' # Flutter.framework does not contain a i386 slice. Only x86_64 simulators are supported. s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'VALID_ARCHS[sdk=iphonesimulator*]' => 'x86_64' } s.swift_version = '5.9' - + s.dependency 'Flutter' s.dependency 'Starscream', '4.0.4' + # Internal Amplify Swift Plugins s.subspec 'Amplify' do |amplify| amplify.source_files = 'internal/Amplify/**/*' end diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin.podspec b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin.podspec deleted file mode 100644 index c3debabdca..0000000000 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin.podspec +++ /dev/null @@ -1,35 +0,0 @@ -# -# Be sure to run `pod spec lint AWSS3StoragePlugin.podspec' to ensure this is a -# valid spec and to remove all comments including this before submitting the spec. -# -# To learn more about Podspec attributes see https://guides.cocoapods.org/syntax/podspec.html -# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/ -# - -# Version definitions -$AMPLIFY_VERSION = '0.0.1' -$AMPLIFY_RELEASE_TAG = "#{$AMPLIFY_VERSION}" - -$AWS_SDK_VERSION = '2.33.0' -$OPTIMISTIC_AWS_SDK_VERSION = "~> #{$AWS_SDK_VERSION}" - -Pod::Spec.new do |s| - s.name = 'AWSDataStorePlugin' - s.version = $AMPLIFY_VERSION - s.summary = 'Amazon Web Services Amplify for iOS.' - - s.description = 'AWS Amplify for iOS provides a declarative library for application development using cloud services' - - s.homepage = 'https://github.com/aws-amplify/amplify-ios' - s.license = 'Apache License, Version 2.0' - s.author = { 'Amazon Web Services' => 'amazonwebservices' } - s.source = { :git => 'https://github.com/aws-amplify/amplify-swift.git', :tag => $AMPLIFY_RELEASE_TAG } - - s.platform = :ios, '13.0' - s.swift_version = '5.0' - - s.source_files = 'AWSDataStorePlugin/**/*.swift' - s.dependency 'Amplify', $AMPLIFY_VERSION - s.dependency 'AWSPluginsCore', $AMPLIFY_VERSION - s.dependency 'SQLite.swift', '0.13.2' -end diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore.podspec b/packages/amplify_datastore/ios/internal/AWSPluginsCore.podspec deleted file mode 100644 index 9416e9a5c5..0000000000 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore.podspec +++ /dev/null @@ -1,32 +0,0 @@ -# -# Be sure to run `pod spec lint Amplify.podspec' to ensure this is a -# valid spec and to remove all comments including this before submitting the spec. -# -# To learn more about Podspec attributes see https://guides.cocoapods.org/syntax/podspec.html -# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/ -# - -# Version definitions -$AMPLIFY_VERSION = '0.0.1' -$AMPLIFY_RELEASE_TAG = "#{$AMPLIFY_VERSION}" - -Pod::Spec.new do |s| - s.name = 'AWSPluginsCore' - - s.version = $AMPLIFY_VERSION - s.summary = 'Amazon Web Services Amplify for Swift.' - - s.description = 'Internal Amplify PluginsCore for Swift module for Amplify Flutter.' - - s.homepage = 'https://github.com/aws-amplify/amplify-ios' - s.license = 'Apache License, Version 2.0' - s.author = { 'Amazon Web Services' => 'amazonwebservices' } - s.source = { :git => 'https://github.com/aws-amplify/amplify-swift.git', :tag => $AMPLIFY_RELEASE_TAG } - - s.platform = :ios, '13.0' - s.swift_version = '5.0' - - s.source_files = 'AWSPluginsCore/**/*.swift' - - s.dependency 'Amplify', $AMPLIFY_VERSION -end diff --git a/packages/amplify_datastore/ios/internal/Amplify.podspec b/packages/amplify_datastore/ios/internal/Amplify.podspec deleted file mode 100644 index 5cbd2a4bb9..0000000000 --- a/packages/amplify_datastore/ios/internal/Amplify.podspec +++ /dev/null @@ -1,29 +0,0 @@ -# -# Be sure to run `pod spec lint Amplify.podspec' to ensure this is a -# valid spec and to remove all comments including this before submitting the spec. -# -# To learn more about Podspec attributes see https://guides.cocoapods.org/syntax/podspec.html -# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/ -# - -# Version definitions -$AMPLIFY_VERSION = '0.0.1' -$AMPLIFY_RELEASE_TAG = "#{$AMPLIFY_VERSION}" - -Pod::Spec.new do |s| - s.name = 'Amplify' - s.version = $AMPLIFY_VERSION - s.summary = 'Amazon Web Services Amplify for Swift.' - - s.description = 'Internal AWS Amplify for Swift module for Amplify Flutter.' - - s.homepage = 'https://github.com/aws-amplify/amplify-swift' - s.license = 'Apache License, Version 2.0' - s.author = { 'Amazon Web Services' => 'amazonwebservices' } - s.source = { :git => 'https://github.com/aws-amplify/amplify-swift.git', :tag => $AMPLIFY_RELEASE_TAG } - - s.platform = :ios, '13.0' - s.swift_version = '5.0' - - s.source_files = 'Amplify/**/*.swift' -end diff --git a/packages/amplify_datastore/pubspec.yaml b/packages/amplify_datastore/pubspec.yaml index d72b1f18a2..1f95d349eb 100644 --- a/packages/amplify_datastore/pubspec.yaml +++ b/packages/amplify_datastore/pubspec.yaml @@ -35,4 +35,4 @@ flutter: package: com.amazonaws.amplify.amplify_datastore pluginClass: AmplifyDataStorePlugin ios: - pluginClass: AmplifyDataStorePlugin + pluginClass: SwiftAmplifyDataStorePlugin diff --git a/packages/amplify_native_legacy_wrapper/ios/Classes/AmplifyNativeLegacyWrapperPlugin.swift b/packages/amplify_native_legacy_wrapper/ios/Classes/AmplifyNativeLegacyWrapperPlugin.swift index 95ed0df383..a47d61a9b2 100644 --- a/packages/amplify_native_legacy_wrapper/ios/Classes/AmplifyNativeLegacyWrapperPlugin.swift +++ b/packages/amplify_native_legacy_wrapper/ios/Classes/AmplifyNativeLegacyWrapperPlugin.swift @@ -3,8 +3,6 @@ import Flutter import AmplifyPlugins -import AWSPluginsCore -import Amplify import UIKit public class AmplifyNativeLegacyWrapperPlugin: NSObject, FlutterPlugin, LegacyNativePlugin { From db175d1ae756f785d51ad04488b704a757b0ad9a Mon Sep 17 00:00:00 2001 From: Elijah Quartey Date: Tue, 28 May 2024 13:49:15 -0500 Subject: [PATCH 3/6] fix: tentative name collision fix --- .../GraphQLDocument/SingleDirectiveGraphQLDocument.swift | 5 ----- .../Categories/API/Request/GraphQLOperationType.swift | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/SingleDirectiveGraphQLDocument.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/SingleDirectiveGraphQLDocument.swift index ea5c29d342..7cbefa55ec 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/SingleDirectiveGraphQLDocument.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/SingleDirectiveGraphQLDocument.swift @@ -8,11 +8,6 @@ import Amplify import Foundation -public enum GraphQLOperationType: String { - case mutation - case query - case subscription -} public typealias GraphQLParameterName = String diff --git a/packages/amplify_datastore/ios/internal/Amplify/Categories/API/Request/GraphQLOperationType.swift b/packages/amplify_datastore/ios/internal/Amplify/Categories/API/Request/GraphQLOperationType.swift index 38160a72f2..7e9e2735ed 100644 --- a/packages/amplify_datastore/ios/internal/Amplify/Categories/API/Request/GraphQLOperationType.swift +++ b/packages/amplify_datastore/ios/internal/Amplify/Categories/API/Request/GraphQLOperationType.swift @@ -6,7 +6,7 @@ // /// The type of a GraphQL operation -public enum GraphQLOperationType { +public enum GraphQLOperationType: String { /// A GraphQL Query operation case query From d90a8ff3838df6823bbbbae9f2865327f0cfc252 Mon Sep 17 00:00:00 2001 From: Elijah Quartey Date: Tue, 28 May 2024 14:33:19 -0500 Subject: [PATCH 4/6] chore: added dropped imports --- .../ios/Classes/AmplifyNativeLegacyWrapperPlugin.swift | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/amplify_native_legacy_wrapper/ios/Classes/AmplifyNativeLegacyWrapperPlugin.swift b/packages/amplify_native_legacy_wrapper/ios/Classes/AmplifyNativeLegacyWrapperPlugin.swift index a47d61a9b2..95ed0df383 100644 --- a/packages/amplify_native_legacy_wrapper/ios/Classes/AmplifyNativeLegacyWrapperPlugin.swift +++ b/packages/amplify_native_legacy_wrapper/ios/Classes/AmplifyNativeLegacyWrapperPlugin.swift @@ -3,6 +3,8 @@ import Flutter import AmplifyPlugins +import AWSPluginsCore +import Amplify import UIKit public class AmplifyNativeLegacyWrapperPlugin: NSObject, FlutterPlugin, LegacyNativePlugin { From 099563ff1d5e7166f1175c5720c1436b45f13ad0 Mon Sep 17 00:00:00 2001 From: Elijah Quartey Date: Tue, 28 May 2024 14:46:55 -0500 Subject: [PATCH 5/6] chore: regen swift files --- ...ataStorePlugin+DataStoreBaseBehavior.swift | 2 - ...orePlugin+DataStoreSubscribeBehavior.swift | 1 - .../AWSDataStorePlugin+DefaultLogger.swift | 1 - .../AWSDataStorePlugin.swift | 2 - .../DataStoreConfiguration+Helper.swift | 2 - .../DataStoreConfiguration.swift | 2 - .../InternalDatastoreConfiguration.swift | 1 - .../Core/DataStoreListDecoder.swift | 1 - .../Core/DataStoreListProvider.swift | 1 - .../Core/DataStoreModelDecoder.swift | 2 - .../Core/DataStoreModelProvider.swift | 1 - .../DataStoreSyncExpression.swift | 1 - .../internal/AWSDataStorePlugin/Info.plist | 22 ----- .../Migration/ModelMigrations.swift | 1 - .../ModelSyncMetadataMigration.swift | 2 - .../Migration/MutationSyncMetadataCopy.swift | 1 - .../MutationSyncMetadataMigration.swift | 2 - ...SyncMetadataMigrationDelegate+SQLite.swift | 2 - ...taMigrationDelegate+SQLiteValidation.swift | 2 - ...utationSyncMetadataMigrationDelegate.swift | 1 - .../Storage/CascadeDeleteOperation.swift | 2 - .../Storage/ModelStorageBehavior.swift | 1 - .../Storage/SQLite/Model+SQLite.swift | 2 - .../Storage/SQLite/ModelSchema+SQLite.swift | 1 - .../SQLite/ModelValueConverter+SQLite.swift | 1 - .../SQLite/QueryPaginationInput+SQLite.swift | 1 - .../SQLite/QueryPredicate+SQLite.swift | 1 - .../Storage/SQLite/QuerySort+SQLite.swift | 1 - .../SQLite/SQLStatement+AlterTable.swift | 1 - .../SQLite/SQLStatement+Condition.swift | 1 - .../SQLite/SQLStatement+CreateIndex.swift | 1 - .../SQLite/SQLStatement+CreateTable.swift | 1 - .../Storage/SQLite/SQLStatement+Delete.swift | 1 - .../SQLite/SQLStatement+DropTable.swift | 1 - .../Storage/SQLite/SQLStatement+Insert.swift | 1 - .../Storage/SQLite/SQLStatement+Select.swift | 1 - .../SQLStatement+TableInfoStatement.swift | 1 - .../Storage/SQLite/SQLStatement+Update.swift | 1 - .../Storage/SQLite/SQLStatement.swift | 1 - .../Storage/SQLite/Statement+AnyModel.swift | 1 - .../Storage/SQLite/Statement+Model.swift | 2 - .../SQLite/StorageEngineAdapter+SQLite.swift | 2 - .../StorageEngineAdapter+UntypedModel.swift | 1 - ...StorageEngineMigrationAdapter+SQLite.swift | 1 - .../StorageEngine+SyncRequirement.swift | 2 - .../Storage/StorageEngine.swift | 2 - .../Storage/StorageEngineAdapter.swift | 2 - .../Storage/StorageEngineBehavior.swift | 1 - .../DataStoreObserveQueryOperation.swift | 2 - .../Subscribe/DataStorePublisher.swift | 1 - .../Subscribe/ObserveTaskRunner.swift | 1 - .../Subscribe/Support/Model+Sort.swift | 1 - .../Subscribe/Support/SortedList.swift | 1 - .../Sync/Events/ModelSyncedEvent.swift | 1 - .../Sync/Events/OutboxMutationEvent.swift | 2 - .../InitialSync/InitialSyncOperation.swift | 2 - .../InitialSyncOperationEvent.swift | 2 - .../InitialSync/InitialSyncOrchestrator.swift | 2 - .../InitialSync/ModelSyncedEventEmitter.swift | 6 +- .../Sync/InitialSync/ReadyEventEmitter.swift | 2 - .../Sync/InitialSync/SyncEventEmitter.swift | 2 - ...atabaseAdapter+MutationEventIngester.swift | 1 - ...nDatabaseAdapter+MutationEventSource.swift | 1 - .../AWSMutationDatabaseAdapter.swift | 1 - .../AWSMutationEventPublisher.swift | 1 - .../MutationEventClearState.swift | 1 - .../MutationEvent/MutationEventIngester.swift | 1 - .../MutationEventPublisher.swift | 1 - .../MutationEvent/MutationEventSource.swift | 1 - .../MutationEventSubscriber.swift | 1 - .../MutationEventSubscription.swift | 1 - .../MutationRetryNotifier.swift | 2 - .../OutgoingMutationQueue+Action.swift | 2 - .../OutgoingMutationQueue+Resolver.swift | 1 - .../OutgoingMutationQueue+State.swift | 2 - .../OutgoingMutationQueue.swift | 2 - ...ocessMutationErrorFromCloudOperation.swift | 2 - .../SyncMutationToCloudOperation.swift | 2 - .../Sync/RemoteSyncEngine+Action.swift | 2 - ...eSyncEngine+AuthModeStrategyDelegate.swift | 2 - ...ncomingEventReconciliationQueueEvent.swift | 1 - .../Sync/RemoteSyncEngine+Resolver.swift | 1 - .../Sync/RemoteSyncEngine+Retryable.swift | 1 - .../Sync/RemoteSyncEngine+State.swift | 2 - .../Sync/RemoteSyncEngine.swift | 2 - .../Sync/RemoteSyncEngineBehavior.swift | 2 - .../AWSIncomingEventReconciliationQueue.swift | 2 - ...WSIncomingSubscriptionEventPublisher.swift | 2 - ...omingAsyncSubscriptionEventPublisher.swift | 2 - ...yncSubscriptionEventToAnyModelMapper.swift | 2 - .../IncomingEventReconciliationQueue.swift | 2 - .../IncomingSubscriptionEventPublisher.swift | 2 - ...onDisabledSubscriptionEventPublisher.swift | 2 - .../AWSModelReconciliationQueue.swift | 2 - .../ModelReconciliationQueue.swift | 2 - ...econcileAndLocalSaveOperation+Action.swift | 1 - ...oncileAndLocalSaveOperation+Resolver.swift | 1 - ...ReconcileAndLocalSaveOperation+State.swift | 1 - .../ReconcileAndLocalSaveOperation.swift | 81 +++++++++++-------- .../ReconcileAndLocalSaveQueue.swift | 2 - .../RemoteSyncReconciler.swift | 1 - .../Support/CancelAwareBlockOperation.swift | 1 - .../Sync/Support/DataStoreError+Plugin.swift | 1 - .../Sync/Support/Model+Compare.swift | 1 - .../Support/MutationEvent+Extensions.swift | 2 - .../Sync/Support/MutationEvent+Query.swift | 1 - .../Sync/Support/SQLiteResultError.swift | 1 - .../Sync/Support/StateMachine.swift | 1 - .../Sync/Support/Stopwatch.swift | 1 - .../AWSAPIPluginDataStoreOptions.swift | 1 - .../AWSPluginsCore/AWSPluginOptions.swift | 1 - .../Auth/AWSAuthModeStrategy.swift | 1 - .../AWSPluginsCore/Auth/AWSAuthService.swift | 1 - .../Auth/AWSAuthServiceBehavior.swift | 1 - .../Auth/AWSAuthSessionBehavior.swift | 1 - .../Auth/AWSAuthorizationType.swift | 3 +- .../Auth/AuthAWSCredentialsProvider.swift | 1 - .../Auth/AuthCognitoIdentityProvider.swift | 1 - .../Auth/AuthCognitoTokensProvider.swift | 1 - .../AWSAuthorizationConfiguration.swift | 1 - .../ios/internal/AWSPluginsCore/Info.plist | 22 ----- .../Keychain/KeychainStore.swift | 39 ++++++++- .../Keychain/KeychainStoreError.swift | 1 - .../Model/AnyModel/AnyModel+Codable.swift | 1 - .../Model/AnyModel/AnyModel+Schema.swift | 1 - .../Model/AnyModel/AnyModel.swift | 1 - .../Model/AnyModel/Model+AnyModel.swift | 1 - .../Model/Decorator/AuthRuleDecorator.swift | 1 - .../ConflictResolutionDecorator.swift | 1 - .../Decorator/DirectiveNameDecorator.swift | 1 - .../Model/Decorator/FilterDecorator.swift | 1 - .../IncludeAssociationDecorator.swift | 1 - .../ModelBasedGraphQLDocumentDecorator.swift | 1 - .../Model/Decorator/ModelDecorator.swift | 1 - .../Model/Decorator/ModelIdDecorator.swift | 1 - .../Model/Decorator/PaginationDecorator.swift | 1 - .../GraphQLDocument/GraphQLMutation.swift | 1 - .../Model/GraphQLDocument/GraphQLQuery.swift | 1 - .../GraphQLDocument/GraphQLSubscription.swift | 1 - .../ModelBasedGraphQLDocumentBuilder.swift | 1 - .../SingleDirectiveGraphQLDocument.swift | 2 - .../GraphQLRequest+AnyModelWithSync.swift | 1 - .../GraphQLRequest/GraphQLRequest+Model.swift | 1 - .../Model/Support/AuthRule+Extension.swift | 1 - .../Model/Support/Model+GraphQL.swift | 1 - .../Model/Support/ModelField+GraphQL.swift | 1 - .../Model/Support/ModelSchema+GraphQL.swift | 1 - .../Support/QueryPredicate+GraphQL.swift | 1 - .../Model/Support/SelectionSet.swift | 1 - .../ModelSync/ModelSyncMetadata+Schema.swift | 1 - .../Sync/ModelSync/ModelSyncMetadata.swift | 1 - .../Sync/MutationSync/MutationSync.swift | 1 - .../MutationSyncMetadata+Schema.swift | 1 - .../MutationSync/MutationSyncMetadata.swift | 1 - .../AWSPluginsCore/Sync/PaginatedList.swift | 1 - .../WebSocket/WebSocketClient.swift | 7 +- .../Operation/NondeterminsticOperation.swift | 15 ++-- .../Configuration/AmplifyOutputsData.swift | 12 +-- .../Core/Support/AmplifyAsyncSequence.swift | 8 +- .../AmplifyAsyncThrowingSequence.swift | 9 +-- .../Amplify/Core/Support/TaskQueue.swift | 7 +- .../Amplify/DevMenu/AmplifyDevMenu.swift | 1 + .../ios/internal/Amplify/Info.plist | 22 ----- 163 files changed, 116 insertions(+), 333 deletions(-) delete mode 100644 packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Info.plist delete mode 100644 packages/amplify_datastore/ios/internal/AWSPluginsCore/Info.plist delete mode 100644 packages/amplify_datastore/ios/internal/Amplify/Info.plist diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin+DataStoreBaseBehavior.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin+DataStoreBaseBehavior.swift index a7a128f638..56b34cc859 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin+DataStoreBaseBehavior.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin+DataStoreBaseBehavior.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore extension AWSDataStorePlugin: DataStoreBaseBehavior { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin+DataStoreSubscribeBehavior.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin+DataStoreSubscribeBehavior.swift index ca41efd230..e0d0aa2864 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin+DataStoreSubscribeBehavior.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin+DataStoreSubscribeBehavior.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine extension AWSDataStorePlugin: DataStoreSubscribeBehavior { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin+DefaultLogger.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin+DefaultLogger.swift index 75f2dbae15..91530e4c55 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin+DefaultLogger.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin+DefaultLogger.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify extension AWSDataStorePlugin: DefaultLogger { public static var log: Logger { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin.swift index cdcbbc2bfb..b493ed3933 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/AWSDataStorePlugin.swift @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine -import AWSPluginsCore import Foundation enum DataStoreState { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Configuration/DataStoreConfiguration+Helper.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Configuration/DataStoreConfiguration+Helper.swift index 564918daa2..95c4d94768 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Configuration/DataStoreConfiguration+Helper.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Configuration/DataStoreConfiguration+Helper.swift @@ -6,8 +6,6 @@ // import Foundation -import Amplify -import AWSPluginsCore extension DataStoreConfiguration { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Configuration/DataStoreConfiguration.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Configuration/DataStoreConfiguration.swift index a1c3ec8788..e8e896287a 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Configuration/DataStoreConfiguration.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Configuration/DataStoreConfiguration.swift @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation -import AWSPluginsCore /// Error Handler function typealias public typealias DataStoreErrorHandler = (AmplifyError) -> Void diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Configuration/InternalDatastoreConfiguration.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Configuration/InternalDatastoreConfiguration.swift index f70585d5a1..37ec4969aa 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Configuration/InternalDatastoreConfiguration.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Configuration/InternalDatastoreConfiguration.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify struct InternalDatastoreConfiguration { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreListDecoder.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreListDecoder.swift index 9241da72e2..f880dcf7f4 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreListDecoder.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreListDecoder.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify import Combine public struct DataStoreListDecoder: ModelListDecoder { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreListProvider.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreListProvider.swift index 59aee21603..bdf4263743 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreListProvider.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreListProvider.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify import Combine /// `DataStoreList` is a DataStore-aware custom `Collection` that is capable of loading diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreModelDecoder.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreModelDecoder.swift index ea4cd42ac9..6101c0d699 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreModelDecoder.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreModelDecoder.swift @@ -6,9 +6,7 @@ // import Foundation -import Amplify import SQLite -import AWSPluginsCore public struct DataStoreModelDecoder: ModelProviderDecoder { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreModelProvider.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreModelProvider.swift index 64878140f9..8c00c08b9b 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreModelProvider.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Core/DataStoreModelProvider.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify import Combine public class DataStoreModelProvider: ModelProvider { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/DataStoreSyncExpression.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/DataStoreSyncExpression.swift index f1ae361e7b..acaabd594d 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/DataStoreSyncExpression.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/DataStoreSyncExpression.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify public typealias QueryPredicateResolver = () -> QueryPredicate diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Info.plist b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Info.plist deleted file mode 100644 index 3aa1dc4afe..0000000000 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - $(PRODUCT_BUNDLE_PACKAGE_TYPE) - CFBundleShortVersionString - 1.27.1 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/ModelMigrations.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/ModelMigrations.swift index 02531a4ded..2b6d0faf6d 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/ModelMigrations.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/ModelMigrations.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation protocol ModelMigration { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/ModelSyncMetadataMigration.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/ModelSyncMetadataMigration.swift index 0a0eb72e03..cc4250e423 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/ModelSyncMetadataMigration.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/ModelSyncMetadataMigration.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite -import AWSPluginsCore class ModelSyncMetadataMigration: ModelMigration { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataCopy.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataCopy.swift index 855b3cf079..76b1d91159 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataCopy.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataCopy.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify extension MutationSyncMetadataMigration { public struct MutationSyncMetadataCopy: Model { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigration.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigration.swift index f32c027cad..ab6ac7fdb1 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigration.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigration.swift @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation -import AWSPluginsCore /// Migrates `MutationSyncMetadata` to the new format. /// diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigrationDelegate+SQLite.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigrationDelegate+SQLite.swift index 29aad4f815..1cd9357c34 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigrationDelegate+SQLite.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigrationDelegate+SQLite.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite -import AWSPluginsCore final class SQLiteMutationSyncMetadataMigrationDelegate: MutationSyncMetadataMigrationDelegate { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigrationDelegate+SQLiteValidation.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigrationDelegate+SQLiteValidation.swift index 33115bf373..5fb29ee2ad 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigrationDelegate+SQLiteValidation.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigrationDelegate+SQLiteValidation.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite -import AWSPluginsCore extension SQLiteMutationSyncMetadataMigrationDelegate { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigrationDelegate.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigrationDelegate.swift index ca3653646e..50c78329cf 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigrationDelegate.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Migration/MutationSyncMetadataMigrationDelegate.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation enum MutationSyncMetadataMigrationStep { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/CascadeDeleteOperation.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/CascadeDeleteOperation.swift index 29687e390c..7fe0fec668 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/CascadeDeleteOperation.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/CascadeDeleteOperation.swift @@ -6,8 +6,6 @@ // import Foundation -import Amplify -import AWSPluginsCore import Combine // swiftlint:disable type_body_length file_length diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/ModelStorageBehavior.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/ModelStorageBehavior.swift index e33537baa5..23d1c35e1c 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/ModelStorageBehavior.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/ModelStorageBehavior.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify protocol ModelStorageBehavior { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/Model+SQLite.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/Model+SQLite.swift index 7ff35dccb2..4667035cd6 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/Model+SQLite.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/Model+SQLite.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite -import AWSPluginsCore /// Extended types that conform to `Persistable` in order to provide conversion to SQLite's `Binding` /// types. This is necessary so `Model` properties' map values to a SQLite compatible types. diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/ModelSchema+SQLite.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/ModelSchema+SQLite.swift index 2cee4cccc6..2c1d18d932 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/ModelSchema+SQLite.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/ModelSchema+SQLite.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/ModelValueConverter+SQLite.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/ModelValueConverter+SQLite.swift index ab1a85aed9..f7ff503374 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/ModelValueConverter+SQLite.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/ModelValueConverter+SQLite.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/QueryPaginationInput+SQLite.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/QueryPaginationInput+SQLite.swift index 52956bc47f..16bced37bf 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/QueryPaginationInput+SQLite.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/QueryPaginationInput+SQLite.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify extension QueryPaginationInput { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/QueryPredicate+SQLite.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/QueryPredicate+SQLite.swift index dcc528ae63..13be639922 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/QueryPredicate+SQLite.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/QueryPredicate+SQLite.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/QuerySort+SQLite.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/QuerySort+SQLite.swift index c02cc6fa12..7ff06c9c10 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/QuerySort+SQLite.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/QuerySort+SQLite.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+AlterTable.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+AlterTable.swift index b29800d8d7..dfd153515b 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+AlterTable.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+AlterTable.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Condition.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Condition.swift index 6d8d55136c..3cce4160ae 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Condition.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Condition.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+CreateIndex.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+CreateIndex.swift index f8ddedfbb0..4f2dccf237 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+CreateIndex.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+CreateIndex.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation /// Represents a `create index` SQL statement. The index is created based on the diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+CreateTable.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+CreateTable.swift index 78e67f1f7c..39a07aac83 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+CreateTable.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+CreateTable.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation /// Represents a `create table` SQL statement. The table is created based on the `ModelSchema` diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Delete.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Delete.swift index 26290d6968..0000d356a2 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Delete.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Delete.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+DropTable.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+DropTable.swift index d07869ce69..1d82dedc7f 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+DropTable.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+DropTable.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Insert.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Insert.swift index 210b886ea5..8d830b3707 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Insert.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Insert.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Select.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Select.swift index 9a0b9e909a..c498f93d46 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Select.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Select.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+TableInfoStatement.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+TableInfoStatement.swift index b88d7ca7d0..9fd0eec40a 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+TableInfoStatement.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+TableInfoStatement.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Update.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Update.swift index 70df1854ec..ee2cac48c1 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Update.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement+Update.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement.swift index 605b9f547d..0181334ca0 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/SQLStatement.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/Statement+AnyModel.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/Statement+AnyModel.swift index 332e1b8ba6..96d170f3d9 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/Statement+AnyModel.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/Statement+AnyModel.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import SQLite import Foundation diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/Statement+Model.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/Statement+Model.swift index 6045206d6d..c89e770f5e 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/Statement+Model.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/Statement+Model.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite -import AWSPluginsCore typealias ModelValues = [String: Any?] diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/StorageEngineAdapter+SQLite.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/StorageEngineAdapter+SQLite.swift index d01c94bacb..47e7ea292c 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/StorageEngineAdapter+SQLite.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/StorageEngineAdapter+SQLite.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite -import AWSPluginsCore // swiftlint:disable type_body_length file_length /// [SQLite](https://sqlite.org) `StorageEngineAdapter` implementation. This class provides diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/StorageEngineAdapter+UntypedModel.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/StorageEngineAdapter+UntypedModel.swift index 212840733f..7ea820d016 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/StorageEngineAdapter+UntypedModel.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/StorageEngineAdapter+UntypedModel.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import SQLite extension SQLiteStorageEngineAdapter { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/StorageEngineMigrationAdapter+SQLite.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/StorageEngineMigrationAdapter+SQLite.swift index 42370a1be2..08be435439 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/StorageEngineMigrationAdapter+SQLite.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/SQLite/StorageEngineMigrationAdapter+SQLite.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import SQLite diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngine+SyncRequirement.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngine+SyncRequirement.swift index b6a8aac20c..516475b206 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngine+SyncRequirement.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngine+SyncRequirement.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine import Foundation -import AWSPluginsCore extension StorageEngine { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngine.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngine.swift index 53c213e4fb..bd579c0489 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngine.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngine.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine import Foundation -import AWSPluginsCore typealias StorageEngineBehaviorFactory = (Bool, diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngineAdapter.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngineAdapter.swift index 191df26ebc..82b1cda766 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngineAdapter.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngineAdapter.swift @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation -import AWSPluginsCore protocol StorageEngineAdapter: AnyObject, ModelStorageBehavior, ModelStorageErrorBehavior, StorageEngineMigrationAdapter { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngineBehavior.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngineBehavior.swift index 43c8878703..1797d18ef0 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngineBehavior.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Storage/StorageEngineBehavior.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import Combine diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/DataStoreObserveQueryOperation.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/DataStoreObserveQueryOperation.swift index 6e6781716a..62b959ae27 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/DataStoreObserveQueryOperation.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/DataStoreObserveQueryOperation.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine import Foundation diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/DataStorePublisher.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/DataStorePublisher.swift index 9c40ead977..ee34bc831d 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/DataStorePublisher.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/DataStorePublisher.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine struct DataStorePublisher: ModelSubcriptionBehavior { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/ObserveTaskRunner.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/ObserveTaskRunner.swift index 755a105f91..99475ff3eb 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/ObserveTaskRunner.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/ObserveTaskRunner.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine struct ObserveRequest: AmplifyOperationRequest { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/Support/Model+Sort.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/Support/Model+Sort.swift index b9eed6bbd9..d2f17947f2 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/Support/Model+Sort.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/Support/Model+Sort.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify extension Array where Element: Model { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/Support/SortedList.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/Support/SortedList.swift index daffa031a9..37bc462e83 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/Support/SortedList.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Subscribe/Support/SortedList.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify class SortedList { private(set) var sortedModels: [ModelType] diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Events/ModelSyncedEvent.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Events/ModelSyncedEvent.swift index 15920e60d8..ae5a414019 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Events/ModelSyncedEvent.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Events/ModelSyncedEvent.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify /// Hub payload for the `ModelSynced` event. public struct ModelSyncedEvent { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Events/OutboxMutationEvent.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Events/OutboxMutationEvent.swift index 3fdf36b4d7..c83abdcf28 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Events/OutboxMutationEvent.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Events/OutboxMutationEvent.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore /// Used as HubPayload for `OutboxMutationEnqueued` and `OutboxMutationProcessed` public struct OutboxMutationEvent { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/InitialSyncOperation.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/InitialSyncOperation.swift index 0365b91862..780524075e 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/InitialSyncOperation.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/InitialSyncOperation.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine import Foundation diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/InitialSyncOperationEvent.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/InitialSyncOperationEvent.swift index f51aac655b..c2053a71e6 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/InitialSyncOperationEvent.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/InitialSyncOperationEvent.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore enum InitialSyncOperationEvent { /// Published at the start of sync query (full or delta) for a particular Model diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/InitialSyncOrchestrator.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/InitialSyncOrchestrator.swift index 806b19a240..2a95d3252e 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/InitialSyncOrchestrator.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/InitialSyncOrchestrator.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine import Foundation diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/ModelSyncedEventEmitter.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/ModelSyncedEventEmitter.swift index 9a44dbbc45..a1380011f4 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/ModelSyncedEventEmitter.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/ModelSyncedEventEmitter.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine import Foundation @@ -65,7 +63,7 @@ final class ModelSyncedEventEmitter { self.syncOrchestratorSink = initialSyncOrchestrator? .publisher .receive(on: queue) - .filter(filterSyncOperationEvent(_:)) + .filter { [weak self] in self?.filterSyncOperationEvent($0) == true } .sink(receiveCompletion: { _ in }, receiveValue: { [weak self] value in self?.onReceiveSyncOperationEvent(value: value) @@ -74,7 +72,7 @@ final class ModelSyncedEventEmitter { self.reconciliationQueueSink = reconciliationQueue? .publisher .receive(on: queue) - .filter(filterReconciliationQueueEvent(_:)) + .filter { [weak self] in self?.filterReconciliationQueueEvent($0) == true } .sink(receiveCompletion: { _ in }, receiveValue: { [weak self] value in self?.onReceiveReconciliationEvent(value: value) diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/ReadyEventEmitter.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/ReadyEventEmitter.swift index 66f73bf9ba..c0072d94e7 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/ReadyEventEmitter.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/ReadyEventEmitter.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine enum IncomingReadyEventEmitter { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/SyncEventEmitter.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/SyncEventEmitter.swift index 789849aa1e..6615059c9d 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/SyncEventEmitter.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/InitialSync/SyncEventEmitter.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine import Foundation diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/AWSMutationDatabaseAdapter/AWSMutationDatabaseAdapter+MutationEventIngester.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/AWSMutationDatabaseAdapter/AWSMutationDatabaseAdapter+MutationEventIngester.swift index 3a419c8d78..d6ee6d6c94 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/AWSMutationDatabaseAdapter/AWSMutationDatabaseAdapter+MutationEventIngester.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/AWSMutationDatabaseAdapter/AWSMutationDatabaseAdapter+MutationEventIngester.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -@_spi(OptionalExtension) import Amplify import Combine import Foundation diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/AWSMutationDatabaseAdapter/AWSMutationDatabaseAdapter+MutationEventSource.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/AWSMutationDatabaseAdapter/AWSMutationDatabaseAdapter+MutationEventSource.swift index cdd83055a6..63db028a0f 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/AWSMutationDatabaseAdapter/AWSMutationDatabaseAdapter+MutationEventSource.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/AWSMutationDatabaseAdapter/AWSMutationDatabaseAdapter+MutationEventSource.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine extension AWSMutationDatabaseAdapter: MutationEventSource { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/AWSMutationDatabaseAdapter/AWSMutationDatabaseAdapter.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/AWSMutationDatabaseAdapter/AWSMutationDatabaseAdapter.swift index 70a22d1cf5..28df8af034 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/AWSMutationDatabaseAdapter/AWSMutationDatabaseAdapter.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/AWSMutationDatabaseAdapter/AWSMutationDatabaseAdapter.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine /// Interface for saving and loading MutationEvents from storage diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/AWSMutationEventPublisher.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/AWSMutationEventPublisher.swift index 77fc9d16c7..34094af4b9 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/AWSMutationEventPublisher.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/AWSMutationEventPublisher.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine import Foundation diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventClearState.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventClearState.swift index 52b3f301fa..777204fdcb 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventClearState.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventClearState.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation final class MutationEventClearState { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventIngester.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventIngester.swift index 854cdd03e1..d80566330c 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventIngester.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventIngester.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine /// Ingests MutationEvents from and writes them to the MutationEvent persistent store diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventPublisher.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventPublisher.swift index c73c9a28a0..5ca4149af9 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventPublisher.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventPublisher.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine /// Publishes mutation events to downstream subscribers for subsequent sync to the API. diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventSource.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventSource.swift index ffb4c4920f..d28df12a08 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventSource.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventSource.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify protocol MutationEventSource: AnyObject { /// Gets the next available mutation event, marking it as "inProcess" before delivery diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventSubscriber.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventSubscriber.swift index 14ca209425..3357f97427 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventSubscriber.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventSubscriber.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine final class MutationEventSubscriber: Subscriber { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventSubscription.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventSubscription.swift index bd86169200..6f05cc233b 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventSubscription.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/MutationEvent/MutationEventSubscription.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine final class MutationEventSubscription: Subscription { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/MutationRetryNotifier.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/MutationRetryNotifier.swift index 6aa55c2671..b78a0f2633 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/MutationRetryNotifier.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/MutationRetryNotifier.swift @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation -import AWSPluginsCore import Combine final class MutationRetryNotifier { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue+Action.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue+Action.swift index f042cfab00..f876fc956b 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue+Action.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue+Action.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine extension OutgoingMutationQueue { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue+Resolver.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue+Resolver.swift index 2c066d214d..fa9b947992 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue+Resolver.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue+Resolver.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine extension OutgoingMutationQueue { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue+State.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue+State.swift index b8839a4b3e..476e18d430 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue+State.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue+State.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine extension OutgoingMutationQueue { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue.swift index 98ce9a3ce2..82ac706dce 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/OutgoingMutationQueue.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine import Foundation -import AWSPluginsCore /// Submits outgoing mutation events to the provisioned API protocol OutgoingMutationQueueBehavior: AnyObject { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/ProcessMutationErrorFromCloudOperation.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/ProcessMutationErrorFromCloudOperation.swift index c334745fb7..ec29f3d444 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/ProcessMutationErrorFromCloudOperation.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/ProcessMutationErrorFromCloudOperation.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine import Foundation -import AWSPluginsCore // swiftlint:disable type_body_length file_length /// Checks the GraphQL error response for specific error scenarios related to data synchronziation to the local store. diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/SyncMutationToCloudOperation.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/SyncMutationToCloudOperation.swift index 4321411644..a428a3b991 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/SyncMutationToCloudOperation.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/MutationSync/OutgoingMutationQueue/SyncMutationToCloudOperation.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine import Foundation -import AWSPluginsCore /// Publishes a mutation event to the specified Cloud API. Upon receipt of the API response, validates to ensure it is /// not a retriable error. If it is, attempts a retry until either success or terminal failure. Upon success or diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+Action.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+Action.swift index 7ace6cd086..c8db5db860 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+Action.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+Action.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine extension RemoteSyncEngine { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+AuthModeStrategyDelegate.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+AuthModeStrategyDelegate.swift index db2ae3b9e4..1b0f31b89f 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+AuthModeStrategyDelegate.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+AuthModeStrategyDelegate.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine import Foundation -import AWSPluginsCore extension RemoteSyncEngine: AuthModeStrategyDelegate { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+IncomingEventReconciliationQueueEvent.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+IncomingEventReconciliationQueueEvent.swift index 7e3c4d23c7..20d2446742 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+IncomingEventReconciliationQueueEvent.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+IncomingEventReconciliationQueueEvent.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine import Foundation diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+Resolver.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+Resolver.swift index 957051b8e6..1e291e63cc 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+Resolver.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+Resolver.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine extension RemoteSyncEngine { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+Retryable.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+Retryable.swift index d3a6c7e630..b237ef1187 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+Retryable.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+Retryable.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation /// All methods in this extension must be invoked from workQueue (as in during a `respond` call diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+State.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+State.swift index a1ecebfbbb..84d796545b 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+State.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine+State.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine extension RemoteSyncEngine { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine.swift index fd30c9ecae..575a9f0b54 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngine.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine import Foundation -import AWSPluginsCore // swiftlint:disable type_body_length file_length class RemoteSyncEngine: RemoteSyncEngineBehavior { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngineBehavior.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngineBehavior.swift index 765d72473f..d61c93feb7 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngineBehavior.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/RemoteSyncEngineBehavior.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine enum RemoteSyncEngineEvent { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/AWSIncomingEventReconciliationQueue.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/AWSIncomingEventReconciliationQueue.swift index 4a6d765aca..0d4f2314f4 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/AWSIncomingEventReconciliationQueue.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/AWSIncomingEventReconciliationQueue.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine import Foundation diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/AWSIncomingSubscriptionEventPublisher.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/AWSIncomingSubscriptionEventPublisher.swift index 76c4b7dc9a..b4abcdc698 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/AWSIncomingSubscriptionEventPublisher.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/AWSIncomingSubscriptionEventPublisher.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine import Foundation diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingAsyncSubscriptionEventPublisher.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingAsyncSubscriptionEventPublisher.swift index a342d12c00..499ea6ab43 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingAsyncSubscriptionEventPublisher.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingAsyncSubscriptionEventPublisher.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -@_spi(WebSocket) import AWSPluginsCore import Combine import Foundation diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingAsyncSubscriptionEventToAnyModelMapper.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingAsyncSubscriptionEventToAnyModelMapper.swift index 54af20d333..cf33218e63 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingAsyncSubscriptionEventToAnyModelMapper.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingAsyncSubscriptionEventToAnyModelMapper.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine enum IncomingAsyncSubscriptionEvent { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingEventReconciliationQueue.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingEventReconciliationQueue.swift index 35b90ef9a4..15a97020c2 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingEventReconciliationQueue.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingEventReconciliationQueue.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine enum IncomingEventReconciliationQueueEvent { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingSubscriptionEventPublisher.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingSubscriptionEventPublisher.swift index 604b188a22..535b97e1fc 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingSubscriptionEventPublisher.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/IncomingSubscriptionEventPublisher.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine enum IncomingSubscriptionEventPublisherEvent { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/OperationDisabledSubscriptionEventPublisher.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/OperationDisabledSubscriptionEventPublisher.swift index de12d96dca..9702c9dd02 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/OperationDisabledSubscriptionEventPublisher.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/OperationDisabledSubscriptionEventPublisher.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine final class OperationDisabledIncomingSubscriptionEventPublisher: IncomingSubscriptionEventPublisher { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/AWSModelReconciliationQueue.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/AWSModelReconciliationQueue.swift index 03074d82e3..58ac4ecf7c 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/AWSModelReconciliationQueue.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/AWSModelReconciliationQueue.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine import Foundation diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ModelReconciliationQueue.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ModelReconciliationQueue.swift index cd92dfad55..d30cbb46cb 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ModelReconciliationQueue.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ModelReconciliationQueue.swift @@ -5,8 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify -import AWSPluginsCore import Combine enum ModelConnectionDisconnectedReason { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation+Action.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation+Action.swift index 3016fec693..4fa1e4e224 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation+Action.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation+Action.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify extension ReconcileAndLocalSaveOperation { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation+Resolver.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation+Resolver.swift index a723b1195e..999d8ed8bc 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation+Resolver.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation+Resolver.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify extension ReconcileAndLocalSaveOperation { struct Resolver { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation+State.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation+State.swift index 92223a28e9..b8086b221e 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation+State.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation+State.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify extension ReconcileAndLocalSaveOperation { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation.swift index 474f76666e..a9d008993c 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveOperation.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine import Foundation -import AWSPluginsCore // swiftlint:disable type_body_length file_length /// Reconciles an incoming model mutation with the stored model. If there is no conflict (e.g., the incoming model has @@ -337,7 +335,7 @@ class ReconcileAndLocalSaveOperation: AsynchronousOperation { } enum ApplyRemoteModelResult { - case applied(RemoteModel) + case applied(RemoteModel, AppliedModel) case dropped } @@ -363,7 +361,7 @@ class ReconcileAndLocalSaveOperation: AsynchronousOperation { promise(.failure(dataStoreError)) } case .success: - promise(.success(.applied(remoteModel))) + promise(.success(.applied(remoteModel, remoteModel))) } } } @@ -387,14 +385,13 @@ class ReconcileAndLocalSaveOperation: AsynchronousOperation { let anyModel: AnyModel do { anyModel = try savedModel.eraseToAnyModel() + let appliedModel = MutationSync(model: anyModel, syncMetadata: remoteModel.syncMetadata) + promise(.success(.applied(remoteModel, appliedModel))) } catch { let dataStoreError = DataStoreError(error: error) self.notifyDropped(error: dataStoreError) promise(.failure(dataStoreError)) - return } - let inProcessModel = MutationSync(model: anyModel, syncMetadata: remoteModel.syncMetadata) - promise(.success(.applied(inProcessModel))) } } } @@ -417,21 +414,15 @@ class ReconcileAndLocalSaveOperation: AsynchronousOperation { result: ApplyRemoteModelResult, mutationType: MutationEvent.MutationType ) -> AnyPublisher { - if case let .applied(inProcessModel) = result { - return self.saveMetadata(storageAdapter: storageAdapter, remoteModel: inProcessModel, mutationType: mutationType) - .handleEvents( receiveOutput: { syncMetadata in - let appliedModel = MutationSync(model: inProcessModel.model, syncMetadata: syncMetadata) - self.notify(savedModel: appliedModel, mutationType: mutationType) - }, receiveCompletion: { completion in - if case .failure(let error) = completion { - self.notifyDropped(error: error) - } - }) - .map { _ in () } + switch result { + case .applied(let remoteModel, let appliedModel): + return self.saveMetadata(storageAdapter: storageAdapter, remoteModel: remoteModel, mutationType: mutationType) + .map { MutationSync(model: appliedModel.model, syncMetadata: $0) } + .map { [weak self] in self?.notify(appliedModel: $0, mutationType: mutationType) } .eraseToAnyPublisher() - + case .dropped: + return Just(()).setFailureType(to: DataStoreError.self).eraseToAnyPublisher() } - return Just(()).setFailureType(to: DataStoreError.self).eraseToAnyPublisher() } private func saveMetadata( @@ -440,9 +431,17 @@ class ReconcileAndLocalSaveOperation: AsynchronousOperation { mutationType: MutationEvent.MutationType ) -> Future { Future { promise in - storageAdapter.save(remoteModel.syncMetadata, - condition: nil, - eagerLoad: self.isEagerLoad) { result in + storageAdapter.save( + remoteModel.syncMetadata, + condition: nil, + eagerLoad: self.isEagerLoad + ) { result in + switch result { + case .failure(let error): + self.notifyDropped(error: error) + case .success: + self.notifyHub(remoteModel: remoteModel, mutationType: mutationType) + } promise(result) } } @@ -454,28 +453,46 @@ class ReconcileAndLocalSaveOperation: AsynchronousOperation { } } - private func notify(savedModel: AppliedModel, - mutationType: MutationEvent.MutationType) { - let version = savedModel.syncMetadata.version + /// Inform the mutationEvents subscribers about the updated model, + /// which incorporates lazy loading information if applicable. + private func notify(appliedModel: AppliedModel, mutationType: MutationEvent.MutationType) { + guard let json = try? appliedModel.model.instance.toJSON() else { + log.error("Could not notify mutation event") + return + } + + let modelIdentifier = appliedModel.model.instance.identifier(schema: modelSchema).stringValue + let mutationEvent = MutationEvent(modelId: modelIdentifier, + modelName: modelSchema.name, + json: json, + mutationType: mutationType, + version: appliedModel.syncMetadata.version) + mutationEventPublisher.send(.mutationEvent(mutationEvent)) + } + /// Inform the remote mutationEvents to Hub event subscribers, + /// which only contains information received from AppSync server. + private func notifyHub( + remoteModel: RemoteModel, + mutationType: MutationEvent.MutationType + ) { // TODO: Dispatch/notify error if we can't erase to any model? Would imply an error in JSON decoding, // which shouldn't be possible this late in the process. Possibly notify global conflict/error handler? - guard let json = try? savedModel.model.instance.toJSON() else { - log.error("Could not notify mutation event") + guard let json = try? remoteModel.model.instance.toJSON() else { + log.error("Could not notify Hub mutation event") return } - let modelIdentifier = savedModel.model.instance.identifier(schema: modelSchema).stringValue + + let modelIdentifier = remoteModel.model.instance.identifier(schema: modelSchema).stringValue let mutationEvent = MutationEvent(modelId: modelIdentifier, modelName: modelSchema.name, json: json, mutationType: mutationType, - version: version) + version: remoteModel.syncMetadata.version) let payload = HubPayload(eventName: HubPayload.EventName.DataStore.syncReceived, data: mutationEvent) Amplify.Hub.dispatch(to: .dataStore, payload: payload) - - mutationEventPublisher.send(.mutationEvent(mutationEvent)) } private func notifyFinished() { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveQueue.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveQueue.swift index 30434dc04e..a04377b857 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveQueue.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/ReconcileAndLocalSaveQueue.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine import Foundation -import AWSPluginsCore protocol ReconcileAndSaveOperationQueue { func addOperation(_ operation: ReconcileAndLocalSaveOperation, modelName: String) diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/RemoteSyncReconciler.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/RemoteSyncReconciler.swift index df95b21a8a..021a0021d7 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/RemoteSyncReconciler.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/SubscriptionSync/ReconcileAndLocalSave/RemoteSyncReconciler.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify /// Reconciles incoming sync mutations with the state of the local store, and mutation queue. struct RemoteSyncReconciler { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/CancelAwareBlockOperation.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/CancelAwareBlockOperation.swift index 7ae0d251f1..18b0135fbd 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/CancelAwareBlockOperation.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/CancelAwareBlockOperation.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation final class CancelAwareBlockOperation: Operation { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/DataStoreError+Plugin.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/DataStoreError+Plugin.swift index 812501bacc..0d89e8e7a2 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/DataStoreError+Plugin.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/DataStoreError+Plugin.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify /// Convenience error types extension DataStoreError { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/Model+Compare.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/Model+Compare.swift index ca9595dbf1..b60d22bf09 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/Model+Compare.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/Model+Compare.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify // swiftlint:disable cyclomatic_complexity extension ModelSchema { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/MutationEvent+Extensions.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/MutationEvent+Extensions.swift index 7d2057528e..0c6e2e309a 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/MutationEvent+Extensions.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/MutationEvent+Extensions.swift @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Dispatch -import AWSPluginsCore extension MutationEvent { // Consecutive operations that modify a model results in a sequence of pending mutation events that diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/MutationEvent+Query.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/MutationEvent+Query.swift index d84dad4ce7..cedc6d9909 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/MutationEvent+Query.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/MutationEvent+Query.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Dispatch extension MutationEvent { diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/SQLiteResultError.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/SQLiteResultError.swift index 60f1ba14d5..79a3c895d4 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/SQLiteResultError.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/SQLiteResultError.swift @@ -7,7 +7,6 @@ import SQLite import SQLite3 -import Amplify /// Checks for specific SQLLite error codes /// See https://sqlite.org/rescode.html#primary_result_code_list diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/StateMachine.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/StateMachine.swift index 55855b1959..ebd623b520 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/StateMachine.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/StateMachine.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Combine import Foundation diff --git a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/Stopwatch.swift b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/Stopwatch.swift index c2e0111944..61929efdd0 100644 --- a/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/Stopwatch.swift +++ b/packages/amplify_datastore/ios/internal/AWSDataStorePlugin/Sync/Support/Stopwatch.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify /// A simple implementation of a stopwatch used for gathering metrics of elapsed time. class Stopwatch { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/AWSAPIPluginDataStoreOptions.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/AWSAPIPluginDataStoreOptions.swift index f3035b76f0..a5e9fd58d7 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/AWSAPIPluginDataStoreOptions.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/AWSAPIPluginDataStoreOptions.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify /// Plugin specific options type /// diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/AWSPluginOptions.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/AWSPluginOptions.swift index b6f83ec2b3..75a59683b6 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/AWSPluginOptions.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/AWSPluginOptions.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify /// Plugin specific options type /// diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthModeStrategy.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthModeStrategy.swift index 91d38c2855..6f6b6e5aea 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthModeStrategy.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthModeStrategy.swift @@ -7,7 +7,6 @@ import Foundation import Combine -import Amplify /// Represents different auth strategies supported by a client /// interfacing with an AppSync backend diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthService.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthService.swift index b15b4b7d6c..604ae605b0 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthService.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthService.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify public class AWSAuthService: AWSAuthServiceBehavior { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthServiceBehavior.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthServiceBehavior.swift index 1c23190588..6676eaeda2 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthServiceBehavior.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthServiceBehavior.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify public protocol AWSAuthServiceBehavior: AnyObject { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthSessionBehavior.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthSessionBehavior.swift index 36d71a87e8..feaa827020 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthSessionBehavior.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthSessionBehavior.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify /// Defines the contract for an AuthSession that can vend AWS credentials and store a user ID /// (`sub`) for the underlying OIDC-compliant authentication provider such as Cognito user pools. diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthorizationType.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthorizationType.swift index 465cc35337..16d65adfeb 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthorizationType.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AWSAuthorizationType.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify // swiftlint:disable line_length @@ -46,6 +45,8 @@ public enum AWSAuthorizationType: String, AuthorizationMode { extension AWSAuthorizationType: CaseIterable { } +extension AWSAuthorizationType: Codable { } + /// Indicates whether the authotization type requires the auth plugin to operate. extension AWSAuthorizationType { public var requiresAuthPlugin: Bool { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AuthAWSCredentialsProvider.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AuthAWSCredentialsProvider.swift index c08e8821c8..eba9f2ab64 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AuthAWSCredentialsProvider.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AuthAWSCredentialsProvider.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation public protocol AuthAWSCredentialsProvider { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AuthCognitoIdentityProvider.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AuthCognitoIdentityProvider.swift index f58cef8ce3..e85a4c9bfc 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AuthCognitoIdentityProvider.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AuthCognitoIdentityProvider.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify public protocol AuthCognitoIdentityProvider { /// Return the most recent Result of fetching the AWS Cognito Identity Pools identity ID diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AuthCognitoTokensProvider.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AuthCognitoTokensProvider.swift index 499e9b9fcc..031506bfc0 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AuthCognitoTokensProvider.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/AuthCognitoTokensProvider.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation public protocol AuthCognitoTokensProvider { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/Configuration/AWSAuthorizationConfiguration.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/Configuration/AWSAuthorizationConfiguration.swift index cf7c78395a..239f73fe0b 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/Configuration/AWSAuthorizationConfiguration.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Auth/Configuration/AWSAuthorizationConfiguration.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify public enum AWSAuthorizationConfiguration { case none diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Info.plist b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Info.plist deleted file mode 100644 index 9d2ad922cc..0000000000 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.27.1 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Keychain/KeychainStore.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Keychain/KeychainStore.swift index cbacba2e44..2d985b3d35 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Keychain/KeychainStore.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Keychain/KeychainStore.swift @@ -76,6 +76,7 @@ public struct KeychainStore: KeychainStoreBehavior { var attributes = KeychainStoreAttributes(service: service) attributes.accessGroup = accessGroup self.init(attributes: attributes) + log.verbose("[KeychainStore] Initialized keychain with service=\(service), attributes=\(attributes), accessGroup=\(accessGroup ?? "")") } @_spi(KeychainStore) @@ -84,12 +85,13 @@ public struct KeychainStore: KeychainStoreBehavior { /// - Parameter key: A String key use to look up the value in the Keychain /// - Returns: A string value public func _getString(_ key: String) throws -> String { - + log.verbose("[KeychainStore] Started retrieving `String` from the store with key=\(key)") let data = try _getData(key) - guard let string = String(data: data, encoding: .utf8) else { + log.error("[KeychainStore] Unable to create String from Data retrieved") throw KeychainStoreError.conversionError("Unable to create String from Data retrieved") } + log.verbose("[KeychainStore] Successfully retrieved string from the store") return string } @@ -100,6 +102,7 @@ public struct KeychainStore: KeychainStoreBehavior { /// - Parameter key: A String key use to look up the value in the Keychain /// - Returns: A data value public func _getData(_ key: String) throws -> Data { + log.verbose("[KeychainStore] Started retrieving `Data` from the store with key=\(key)") var query = attributes.defaultGetQuery() query[Constants.MatchLimit] = Constants.MatchLimitOne @@ -113,12 +116,16 @@ public struct KeychainStore: KeychainStoreBehavior { switch status { case errSecSuccess: guard let data = result as? Data else { + log.error("[KeychainStore] The keychain item retrieved is not the correct type") throw KeychainStoreError.unknown("The keychain item retrieved is not the correct type") } + log.verbose("[KeychainStore] Successfully retrieved `Data` from the store with key=\(key)") return data case errSecItemNotFound: + log.verbose("[KeychainStore] No Keychain item found for key=\(key)") throw KeychainStoreError.itemNotFound default: + log.error("[KeychainStore] Error of status=\(status) occurred when attempting to retrieve a Keychain item for key=\(key)") throw KeychainStoreError.securityError(status) } } @@ -130,10 +137,13 @@ public struct KeychainStore: KeychainStoreBehavior { /// - value: A string value to store in Keychain /// - key: A String key for the value to store in the Keychain public func _set(_ value: String, key: String) throws { + log.verbose("[KeychainStore] Started setting `String` for key=\(key)") guard let data = value.data(using: .utf8, allowLossyConversion: false) else { + log.error("[KeychainStore] Unable to create Data from String retrieved for key=\(key)") throw KeychainStoreError.conversionError("Unable to create Data from String retrieved") } try _set(data, key: key) + log.verbose("[KeychainStore] Successfully added `String` for key=\(key)") } @_spi(KeychainStore) @@ -143,34 +153,43 @@ public struct KeychainStore: KeychainStoreBehavior { /// - value: A data value to store in Keychain /// - key: A String key for the value to store in the Keychain public func _set(_ value: Data, key: String) throws { + log.verbose("[KeychainStore] Started setting `Data` for key=\(key)") var getQuery = attributes.defaultGetQuery() getQuery[Constants.AttributeAccount] = key - + log.verbose("[KeychainStore] Initialized fetching to decide whether update or add") let fetchStatus = SecItemCopyMatching(getQuery as CFDictionary, nil) switch fetchStatus { case errSecSuccess: #if os(macOS) + log.verbose("[KeychainStore] Deleting item on MacOS to add an item.") SecItemDelete(getQuery as CFDictionary) fallthrough #else + log.verbose("[KeychainStore] Found existing item, updating") var attributesToUpdate = [String: Any]() attributesToUpdate[Constants.ValueData] = value let updateStatus = SecItemUpdate(getQuery as CFDictionary, attributesToUpdate as CFDictionary) if updateStatus != errSecSuccess { + log.error("[KeychainStore] Error updating item to keychain with status=\(updateStatus)") throw KeychainStoreError.securityError(updateStatus) } + log.verbose("[KeychainStore] Successfully updated `String` in keychain for key=\(key)") #endif case errSecItemNotFound: + log.verbose("[KeychainStore] Unable to find an existing item, creating new item") var attributesToSet = attributes.defaultSetQuery() attributesToSet[Constants.AttributeAccount] = key attributesToSet[Constants.ValueData] = value let addStatus = SecItemAdd(attributesToSet as CFDictionary, nil) if addStatus != errSecSuccess { + log.error("[KeychainStore] Error adding item to keychain with status=\(addStatus)") throw KeychainStoreError.securityError(addStatus) } + log.verbose("[KeychainStore] Successfully added `String` in keychain for key=\(key)") default: + log.error("[KeychainStore] Error occurred while retrieving data from keychain when deciding to update or add with status=\(fetchStatus)") throw KeychainStoreError.securityError(fetchStatus) } } @@ -180,19 +199,23 @@ public struct KeychainStore: KeychainStoreBehavior { /// This System Programming Interface (SPI) may have breaking changes in future updates. /// - Parameter key: A String key to delete the key-value pair public func _remove(_ key: String) throws { + log.verbose("[KeychainStore] Starting to remove item from keychain with key=\(key)") var query = attributes.defaultGetQuery() query[Constants.AttributeAccount] = key let status = SecItemDelete(query as CFDictionary) if status != errSecSuccess && status != errSecItemNotFound { + log.error("[KeychainStore] Error removing itms from keychain with status=\(status)") throw KeychainStoreError.securityError(status) } + log.verbose("[KeychainStore] Successfully removed item from keychain") } @_spi(KeychainStore) /// Removes all key-value pair in the Keychain. /// This System Programming Interface (SPI) may have breaking changes in future updates. public func _removeAll() throws { + log.verbose("[KeychainStore] Starting to remove all items from keychain") var query = attributes.defaultGetQuery() #if !os(iOS) && !os(watchOS) && !os(tvOS) query[Constants.MatchLimit] = Constants.MatchLimitAll @@ -200,8 +223,10 @@ public struct KeychainStore: KeychainStoreBehavior { let status = SecItemDelete(query as CFDictionary) if status != errSecSuccess && status != errSecItemNotFound { + log.error("[KeychainStore] Error removing all items from keychain with status=\(status)") throw KeychainStoreError.securityError(status) } + log.verbose("[KeychainStore] Successfully removed all items from keychain") } } @@ -241,3 +266,11 @@ extension KeychainStore { } } // swiftlint:enable identifier_name + +extension KeychainStore: DefaultLogger { + public static var log: Logger { + Amplify.Logging.logger(forNamespace: String(describing: self)) + } + + public nonisolated var log: Logger { Self.log } +} diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Keychain/KeychainStoreError.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Keychain/KeychainStoreError.swift index 4de28d4697..68940d2712 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Keychain/KeychainStoreError.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Keychain/KeychainStoreError.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation import Security diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/AnyModel+Codable.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/AnyModel+Codable.swift index 911e93d357..9a151fba6b 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/AnyModel+Codable.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/AnyModel+Codable.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify /// Custom implementation of Codable for AnyModel stores the instance as its JSON string representation and uses the /// ModelRegistry utilities to deserialize it diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/AnyModel+Schema.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/AnyModel+Schema.swift index 9e1cc1e1a7..e8c4995a1b 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/AnyModel+Schema.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/AnyModel+Schema.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify public extension AnyModel { var schema: ModelSchema { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/AnyModel.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/AnyModel.swift index c6646a606a..c50792885a 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/AnyModel.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/AnyModel.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify public struct AnyModel: Model { public let id: String diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/Model+AnyModel.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/Model+AnyModel.swift index 782c1db2fd..096d183cef 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/Model+AnyModel.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/AnyModel/Model+AnyModel.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify public extension Model { func eraseToAnyModel() throws -> AnyModel { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/AuthRuleDecorator.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/AuthRuleDecorator.swift index 0cf0f79d04..72328e8340 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/AuthRuleDecorator.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/AuthRuleDecorator.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify public typealias IdentityClaimsDictionary = [String: AnyObject] diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ConflictResolutionDecorator.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ConflictResolutionDecorator.swift index 7d17b01e57..094eacf778 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ConflictResolutionDecorator.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ConflictResolutionDecorator.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation /// Adds conflict resolution information onto the document based on the operation type (query or mutation) diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/DirectiveNameDecorator.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/DirectiveNameDecorator.swift index 5776552be9..ef93809a95 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/DirectiveNameDecorator.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/DirectiveNameDecorator.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify /// Replaces the directive name of the GraphQL document based on Amplify GraphQL operation types such as "get", "list", /// "sync", "create", "update", "delete", "onCreate", "onUpdate", and "onDelete". The GraphQL name is constructed based diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/FilterDecorator.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/FilterDecorator.swift index bd78aad37f..a8f81574b6 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/FilterDecorator.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/FilterDecorator.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation /// Decorates a GraphQL mutation with a "condition" input or a GraphQL query with a "filter" input. diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/IncludeAssociationDecorator.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/IncludeAssociationDecorator.swift index 66da65a63d..5bff109da7 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/IncludeAssociationDecorator.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/IncludeAssociationDecorator.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation /// Decorates a GraphQL query or mutation with nested/associated properties that should diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ModelBasedGraphQLDocumentDecorator.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ModelBasedGraphQLDocumentDecorator.swift index 8a848b48a9..1c9a5ee6e1 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ModelBasedGraphQLDocumentDecorator.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ModelBasedGraphQLDocumentDecorator.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify public protocol ModelBasedGraphQLDocumentDecorator { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ModelDecorator.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ModelDecorator.swift index 7a7ef66cfb..47938bb3d1 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ModelDecorator.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ModelDecorator.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify /// Decorate the GraphQL document with the data from an instance of the model. This is added as a single parameter /// called "input" that can be referenced by other decorators to append additional document inputs. This decorator diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ModelIdDecorator.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ModelIdDecorator.swift index 07a9a2d523..b203aabfc3 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ModelIdDecorator.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/ModelIdDecorator.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify /// Decorate the GraphQLDocument with the value of `ModelIdentifier` for a "delete" mutation or "get" query. public struct ModelIdDecorator: ModelBasedGraphQLDocumentDecorator { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/PaginationDecorator.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/PaginationDecorator.swift index bfe683ee55..dca545e8cf 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/PaginationDecorator.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Decorator/PaginationDecorator.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify /// Decorate the document input with "limit" and "nextToken". Also paginates the selection set with pagination fields. public struct PaginationDecorator: ModelBasedGraphQLDocumentDecorator { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/GraphQLMutation.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/GraphQLMutation.swift index ca03962ded..bd106d9445 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/GraphQLMutation.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/GraphQLMutation.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify /// A concrete implementation of `SingleDirectiveGraphQLDocument` that represents a mutation operation. public struct GraphQLMutation: SingleDirectiveGraphQLDocument { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/GraphQLQuery.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/GraphQLQuery.swift index 2f86d9cb44..a29ecf5bcf 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/GraphQLQuery.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/GraphQLQuery.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify /// A concrete implementation of `SingleDirectiveGraphQLDocument` that represents a query operation. public struct GraphQLQuery: SingleDirectiveGraphQLDocument { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/GraphQLSubscription.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/GraphQLSubscription.swift index d2cfdf77a0..c73c44c600 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/GraphQLSubscription.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/GraphQLSubscription.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation /// A concrete implementation of `SingleDirectiveGraphQLDocument` that represents a subscription operation. diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/ModelBasedGraphQLDocumentBuilder.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/ModelBasedGraphQLDocumentBuilder.swift index a737d57d2f..aac2b0a838 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/ModelBasedGraphQLDocumentBuilder.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/ModelBasedGraphQLDocumentBuilder.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify /// Helps construct a `SingleDirectiveGraphQLDocument`. Collects instances of the decorators and applies the changes /// on the document. diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/SingleDirectiveGraphQLDocument.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/SingleDirectiveGraphQLDocument.swift index 7cbefa55ec..2d44515e27 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/SingleDirectiveGraphQLDocument.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLDocument/SingleDirectiveGraphQLDocument.swift @@ -5,10 +5,8 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation - public typealias GraphQLParameterName = String /// Represents a single directive GraphQL document. Concrete types that conform to this protocol must diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLRequest/GraphQLRequest+AnyModelWithSync.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLRequest/GraphQLRequest+AnyModelWithSync.swift index 44af846765..301134b1d1 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLRequest/GraphQLRequest+AnyModelWithSync.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLRequest/GraphQLRequest+AnyModelWithSync.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation public typealias SyncQueryResult = PaginatedList diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLRequest/GraphQLRequest+Model.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLRequest/GraphQLRequest+Model.swift index 7338fab830..ccc8148f6d 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLRequest/GraphQLRequest+Model.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/GraphQLRequest/GraphQLRequest+Model.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation public typealias IncludedAssociations = (ModelPath) -> [PropertyContainerPath] diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/AuthRule+Extension.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/AuthRule+Extension.swift index 72d6c1bcde..fa7611bb4b 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/AuthRule+Extension.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/AuthRule+Extension.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify extension AuthRuleProvider { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/Model+GraphQL.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/Model+GraphQL.swift index 2e4c075b2c..f86a47cd7a 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/Model+GraphQL.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/Model+GraphQL.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify typealias GraphQLInput = [String: Any?] diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/ModelField+GraphQL.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/ModelField+GraphQL.swift index f9819c1f4a..698c57059c 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/ModelField+GraphQL.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/ModelField+GraphQL.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation /// Extension that adds GraphQL specific utilities to `ModelField`. diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/ModelSchema+GraphQL.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/ModelSchema+GraphQL.swift index 86f1d9445a..813e95bfa9 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/ModelSchema+GraphQL.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/ModelSchema+GraphQL.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation /// Extension that adds GraphQL specific utilities to `ModelSchema`. diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/QueryPredicate+GraphQL.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/QueryPredicate+GraphQL.swift index a8aca2529e..2e7803e489 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/QueryPredicate+GraphQL.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/QueryPredicate+GraphQL.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify public typealias GraphQLFilter = [String: Any] diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/SelectionSet.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/SelectionSet.swift index b926808de4..f78e0e131c 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/SelectionSet.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Model/Support/SelectionSet.swift @@ -6,7 +6,6 @@ // import Foundation -import Amplify public typealias SelectionSet = Tree diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/ModelSync/ModelSyncMetadata+Schema.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/ModelSync/ModelSyncMetadata+Schema.swift index 99ec90c255..67463b72b6 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/ModelSync/ModelSyncMetadata+Schema.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/ModelSync/ModelSyncMetadata+Schema.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation extension ModelSyncMetadata { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/ModelSync/ModelSyncMetadata.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/ModelSync/ModelSyncMetadata.swift index d6723f4835..4e9ff0ad0f 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/ModelSync/ModelSyncMetadata.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/ModelSync/ModelSyncMetadata.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify public struct ModelSyncMetadata: Model { /// The id of the ModelSyncMetada record is the name of the model being synced diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/MutationSync/MutationSync.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/MutationSync/MutationSync.swift index 8348ac5132..71905e59b0 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/MutationSync/MutationSync.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/MutationSync/MutationSync.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation /// Tuple-like type that holds a `Model` instance and its `MutationSyncMetadata`. diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/MutationSync/MutationSyncMetadata+Schema.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/MutationSync/MutationSyncMetadata+Schema.swift index 718e3348f6..babec30562 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/MutationSync/MutationSyncMetadata+Schema.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/MutationSync/MutationSyncMetadata+Schema.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation extension MutationSyncMetadata { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/MutationSync/MutationSyncMetadata.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/MutationSync/MutationSyncMetadata.swift index 1e905b5439..d42b942bd5 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/MutationSync/MutationSyncMetadata.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/MutationSync/MutationSyncMetadata.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify public struct MutationSyncMetadata: Model { /// Alias of MutationSyncMetadata's identifier, which has the format of `{modelName}|{modelId}` diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/PaginatedList.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/PaginatedList.swift index 1458988802..51add89aa0 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/PaginatedList.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/Sync/PaginatedList.swift @@ -5,7 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import Amplify import Foundation public struct PaginatedList: Decodable { diff --git a/packages/amplify_datastore/ios/internal/AWSPluginsCore/WebSocket/WebSocketClient.swift b/packages/amplify_datastore/ios/internal/AWSPluginsCore/WebSocket/WebSocketClient.swift index bc677744f8..9aafcec2ff 100644 --- a/packages/amplify_datastore/ios/internal/AWSPluginsCore/WebSocket/WebSocketClient.swift +++ b/packages/amplify_datastore/ios/internal/AWSPluginsCore/WebSocket/WebSocketClient.swift @@ -7,7 +7,6 @@ import Foundation -import Amplify import Combine /** @@ -265,7 +264,7 @@ extension WebSocketClient: URLSessionWebSocketDelegate { extension WebSocketClient { /// Monitor network status. Disconnect or reconnect when the network drops or comes back online. private func startNetworkMonitor() { - networkMonitor.publisher.sink(receiveValue: { stateChange in + networkMonitor.publisher.sink(receiveValue: { [weak self] stateChange in Task { [weak self] in await self?.onNetworkStateChange(stateChange) } @@ -304,7 +303,7 @@ extension WebSocketClient { return closeCode } .compactMap { $0 } - .sink(receiveCompletion: { _ in }) { closeCode in + .sink(receiveCompletion: { _ in }) { [weak self] closeCode in Task { [weak self] in await self?.retryOnCloseCode(closeCode) } } .store(in: &cancelables) @@ -319,7 +318,7 @@ extension WebSocketClient { } return false } - .sink(receiveCompletion: { _ in }) { _ in + .sink(receiveCompletion: { _ in }) { [weak self] _ in Task { [weak self] in await self?.retryWithJitter.reset() } diff --git a/packages/amplify_datastore/ios/internal/Amplify/Categories/API/Operation/NondeterminsticOperation.swift b/packages/amplify_datastore/ios/internal/Amplify/Categories/API/Operation/NondeterminsticOperation.swift index 7c930b1924..cd17b65fe5 100644 --- a/packages/amplify_datastore/ios/internal/Amplify/Categories/API/Operation/NondeterminsticOperation.swift +++ b/packages/amplify_datastore/ios/internal/Amplify/Categories/API/Operation/NondeterminsticOperation.swift @@ -42,14 +42,15 @@ final class NondeterminsticOperation { shouldTryNextOnError: OnError? = nil ) { var cancellables = Set() + let (asyncStream, continuation) = AsyncStream.makeStream(of: Operation.self) + operationStream.sink { _ in + continuation.finish() + } receiveValue: { + continuation.yield($0) + }.store(in: &cancellables) + self.init( - operations: AsyncStream { continuation in - operationStream.sink { _ in - continuation.finish() - } receiveValue: { operation in - continuation.yield(operation) - }.store(in: &cancellables) - }, + operations: asyncStream, shouldTryNextOnError: shouldTryNextOnError ) self.cancellables = cancellables diff --git a/packages/amplify_datastore/ios/internal/Amplify/Core/Configuration/AmplifyOutputsData.swift b/packages/amplify_datastore/ios/internal/Amplify/Core/Configuration/AmplifyOutputsData.swift index bdd7270017..93a2f60e6a 100644 --- a/packages/amplify_datastore/ios/internal/Amplify/Core/Configuration/AmplifyOutputsData.swift +++ b/packages/amplify_datastore/ios/internal/Amplify/Core/Configuration/AmplifyOutputsData.swift @@ -189,19 +189,19 @@ public struct AmplifyOutputsData: Codable { case address case birthdate case email - case familyName + case familyName = "family_name" case gender - case givenName + case givenName = "given_name" case locale - case middleName + case middleName = "middle_name" case name case nickname - case phoneNumber + case phoneNumber = "phone_number" case picture - case preferredUsername + case preferredUsername = "preferred_username" case profile case sub - case updatedAt + case updatedAt = "updated_at" case website case zoneinfo } diff --git a/packages/amplify_datastore/ios/internal/Amplify/Core/Support/AmplifyAsyncSequence.swift b/packages/amplify_datastore/ios/internal/Amplify/Core/Support/AmplifyAsyncSequence.swift index b98c0f17bb..0320b6c9a3 100644 --- a/packages/amplify_datastore/ios/internal/Amplify/Core/Support/AmplifyAsyncSequence.swift +++ b/packages/amplify_datastore/ios/internal/Amplify/Core/Support/AmplifyAsyncSequence.swift @@ -11,8 +11,8 @@ public typealias WeakAmplifyAsyncSequenceRef = WeakRef: AsyncSequence, Cancellable { public typealias Iterator = AsyncStream.Iterator - private var asyncStream: AsyncStream! = nil - private var continuation: AsyncStream.Continuation! = nil + private let asyncStream: AsyncStream + private let continuation: AsyncStream.Continuation private var parent: Cancellable? public private(set) var isCancelled: Bool = false @@ -20,9 +20,7 @@ public class AmplifyAsyncSequence: AsyncSequence, Cancellable public init(parent: Cancellable? = nil, bufferingPolicy: AsyncStream.Continuation.BufferingPolicy = .unbounded) { self.parent = parent - asyncStream = AsyncStream(Element.self, bufferingPolicy: bufferingPolicy) { continuation in - self.continuation = continuation - } + (asyncStream, continuation) = AsyncStream.makeStream(of: Element.self, bufferingPolicy: bufferingPolicy) } public func makeAsyncIterator() -> Iterator { diff --git a/packages/amplify_datastore/ios/internal/Amplify/Core/Support/AmplifyAsyncThrowingSequence.swift b/packages/amplify_datastore/ios/internal/Amplify/Core/Support/AmplifyAsyncThrowingSequence.swift index 6a4841f13b..5ff7d388eb 100644 --- a/packages/amplify_datastore/ios/internal/Amplify/Core/Support/AmplifyAsyncThrowingSequence.swift +++ b/packages/amplify_datastore/ios/internal/Amplify/Core/Support/AmplifyAsyncThrowingSequence.swift @@ -6,14 +6,13 @@ // import Foundation -import Combine public typealias WeakAmplifyAsyncThrowingSequenceRef = WeakRef> public class AmplifyAsyncThrowingSequence: AsyncSequence, Cancellable { public typealias Iterator = AsyncThrowingStream.Iterator - private var asyncStream: AsyncThrowingStream! = nil - private var continuation: AsyncThrowingStream.Continuation! = nil + private let asyncStream: AsyncThrowingStream + private let continuation: AsyncThrowingStream.Continuation private var parent: Cancellable? public private(set) var isCancelled: Bool = false @@ -21,9 +20,7 @@ public class AmplifyAsyncThrowingSequence: AsyncSequence, Can public init(parent: Cancellable? = nil, bufferingPolicy: AsyncThrowingStream.Continuation.BufferingPolicy = .unbounded) { self.parent = parent - asyncStream = AsyncThrowingStream(Element.self, bufferingPolicy: bufferingPolicy, { continuation in - self.continuation = continuation - }) + (asyncStream, continuation) = AsyncThrowingStream.makeStream(of: Element.self, bufferingPolicy: bufferingPolicy) } public func makeAsyncIterator() -> Iterator { diff --git a/packages/amplify_datastore/ios/internal/Amplify/Core/Support/TaskQueue.swift b/packages/amplify_datastore/ios/internal/Amplify/Core/Support/TaskQueue.swift index a09bfcc4d8..b7ba5c0553 100644 --- a/packages/amplify_datastore/ios/internal/Amplify/Core/Support/TaskQueue.swift +++ b/packages/amplify_datastore/ios/internal/Amplify/Core/Support/TaskQueue.swift @@ -10,12 +10,11 @@ import Foundation /// A helper for executing asynchronous work serially. public class TaskQueue { typealias Block = @Sendable () async -> Void - private var streamContinuation: AsyncStream.Continuation! + private let streamContinuation: AsyncStream.Continuation public init() { - let stream = AsyncStream.init { continuation in - streamContinuation = continuation - } + let (stream, continuation) = AsyncStream.makeStream(of: Block.self) + self.streamContinuation = continuation Task { for await block in stream { diff --git a/packages/amplify_datastore/ios/internal/Amplify/DevMenu/AmplifyDevMenu.swift b/packages/amplify_datastore/ios/internal/Amplify/DevMenu/AmplifyDevMenu.swift index 796027de86..b54767e3db 100644 --- a/packages/amplify_datastore/ios/internal/Amplify/DevMenu/AmplifyDevMenu.swift +++ b/packages/amplify_datastore/ios/internal/Amplify/DevMenu/AmplifyDevMenu.swift @@ -12,6 +12,7 @@ import UIKit /// Presents a developer menu using the provided `DevMenuPresentationContextProvider` /// upon notification from a `TriggerRecognizer`. Default recognizer is a `LongPressGestureRecognizer` +@MainActor public final class AmplifyDevMenu: DevMenuBehavior, TriggerDelegate { weak var devMenuPresentationContextProvider: DevMenuPresentationContextProvider? diff --git a/packages/amplify_datastore/ios/internal/Amplify/Info.plist b/packages/amplify_datastore/ios/internal/Amplify/Info.plist deleted file mode 100644 index 9d2ad922cc..0000000000 --- a/packages/amplify_datastore/ios/internal/Amplify/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.27.1 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - - From d7714771bc03edbf5255c59a87efb2106050e86b Mon Sep 17 00:00:00 2001 From: Elijah Quartey Date: Tue, 28 May 2024 15:03:16 -0500 Subject: [PATCH 6/6] fix: ios unit tests --- .../ios/unit_tests/DataStoreHubEventStreamHandlerTests.swift | 1 + .../example/ios/unit_tests/DataStorePluginUnitTests.swift | 1 + .../example/ios/unit_tests/ModelSchemaEquatableExtensions.swift | 1 + 3 files changed, 3 insertions(+) diff --git a/packages/amplify_datastore/example/ios/unit_tests/DataStoreHubEventStreamHandlerTests.swift b/packages/amplify_datastore/example/ios/unit_tests/DataStoreHubEventStreamHandlerTests.swift index 51ab509f31..d00376d36e 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/DataStoreHubEventStreamHandlerTests.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/DataStoreHubEventStreamHandlerTests.swift @@ -1,6 +1,7 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 +import Flutter import XCTest import Combine @testable import amplify_datastore diff --git a/packages/amplify_datastore/example/ios/unit_tests/DataStorePluginUnitTests.swift b/packages/amplify_datastore/example/ios/unit_tests/DataStorePluginUnitTests.swift index d2bc25c3d0..60d7bb1d15 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/DataStorePluginUnitTests.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/DataStorePluginUnitTests.swift @@ -1,6 +1,7 @@ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 +import Flutter import XCTest import Combine @testable import amplify_datastore diff --git a/packages/amplify_datastore/example/ios/unit_tests/ModelSchemaEquatableExtensions.swift b/packages/amplify_datastore/example/ios/unit_tests/ModelSchemaEquatableExtensions.swift index e848801cbb..d903391ce4 100644 --- a/packages/amplify_datastore/example/ios/unit_tests/ModelSchemaEquatableExtensions.swift +++ b/packages/amplify_datastore/example/ios/unit_tests/ModelSchemaEquatableExtensions.swift @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 import Foundation +@testable import amplify_datastore extension ModelSchema: Equatable { public static func == (lhs: ModelSchema, rhs: ModelSchema) -> Bool {