Skip to content

Commit 5c033de

Browse files
authored
Merge pull request #632 from Iterable/jay/MOB-6136-slight-refactor
[MOB-6136] slight refactor
2 parents fe72db1 + 87d2fc3 commit 5c033de

31 files changed

+329
-323
lines changed

swift-sdk.xcodeproj/project.pbxproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@
161161
55DD207F26A0D83800773CC7 /* IterableAuthManagerProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55DD207E26A0D83800773CC7 /* IterableAuthManagerProtocol.swift */; };
162162
55E02D39253F8D86009DB8BC /* WebViewProtocolTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55E02D38253F8D86009DB8BC /* WebViewProtocolTests.swift */; };
163163
55E6F462238E066400808BCE /* DeepLinkTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55E6F45E238E066400808BCE /* DeepLinkTests.swift */; };
164+
55E9BE3429F9F5E6000C9FF2 /* DependencyContainerProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 55E9BE3329F9F5E6000C9FF2 /* DependencyContainerProtocol.swift */; };
164165
5B49BB3E27CFB71500E6F00C /* PopupInboxSessionUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B49BB3D27CFB71500E6F00C /* PopupInboxSessionUITests.swift */; };
165166
5B5AA711284F1A6D0093FED4 /* MockNetworkSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B5AA710284F1A6D0093FED4 /* MockNetworkSession.swift */; };
166167
5B5AA712284F1A6D0093FED4 /* MockNetworkSession.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B5AA710284F1A6D0093FED4 /* MockNetworkSession.swift */; };
@@ -561,6 +562,7 @@
561562
55DD207E26A0D83800773CC7 /* IterableAuthManagerProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IterableAuthManagerProtocol.swift; sourceTree = "<group>"; };
562563
55E02D38253F8D86009DB8BC /* WebViewProtocolTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WebViewProtocolTests.swift; sourceTree = "<group>"; };
563564
55E6F45E238E066400808BCE /* DeepLinkTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeepLinkTests.swift; sourceTree = "<group>"; };
565+
55E9BE3329F9F5E6000C9FF2 /* DependencyContainerProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DependencyContainerProtocol.swift; sourceTree = "<group>"; };
564566
5B49BB3D27CFB71500E6F00C /* PopupInboxSessionUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PopupInboxSessionUITests.swift; sourceTree = "<group>"; };
565567
5B5AA710284F1A6D0093FED4 /* MockNetworkSession.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockNetworkSession.swift; sourceTree = "<group>"; };
566568
5B6C3C1027CE871F00B9A753 /* NavInboxSessionUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavInboxSessionUITests.swift; sourceTree = "<group>"; };
@@ -1227,6 +1229,7 @@
12271229
isa = PBXGroup;
12281230
children = (
12291231
AC7A5260227BB9D10064D67E /* DependencyContainer.swift */,
1232+
55E9BE3329F9F5E6000C9FF2 /* DependencyContainerProtocol.swift */,
12301233
);
12311234
name = Initialization;
12321235
sourceTree = "<group>";
@@ -1978,6 +1981,7 @@
19781981
ACC362B624D16D91002C67BA /* IterableRequest.swift in Sources */,
19791982
ACB1DFDB26369D2F00A31597 /* HealthMonitor.swift in Sources */,
19801983
5B88BC482805D09D004016E5 /* NetworkSession.swift in Sources */,
1984+
55E9BE3429F9F5E6000C9FF2 /* DependencyContainerProtocol.swift in Sources */,
19811985
AC06E4D327948C32007A6F20 /* InboxState.swift in Sources */,
19821986
ACC362BD24D21172002C67BA /* IterableAPICallTaskProcessor.swift in Sources */,
19831987
AC84510922910A0C0052BB8F /* RequestCreator.swift in Sources */,

swift-sdk/Internal/ApiClient.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ struct DeviceMetadata: Codable {
1515
class ApiClient {
1616
init(apiKey: String,
1717
authProvider: AuthProvider?,
18-
endPoint: String,
18+
endpoint: String,
1919
networkSession: NetworkSessionProtocol,
2020
deviceMetadata: DeviceMetadata,
2121
dateProvider: DateProviderProtocol) {
2222
self.apiKey = apiKey
2323
self.authProvider = authProvider
24-
self.endPoint = endPoint
24+
self.endpoint = endpoint
2525
self.networkSession = networkSession
2626
self.deviceMetadata = deviceMetadata
2727
self.dateProvider = dateProvider
@@ -34,8 +34,8 @@ class ApiClient {
3434

3535
let currentDate = dateProvider.currentDate
3636
let apiCallRequest = IterableAPICallRequest(apiKey: apiKey,
37-
endPoint: endPoint,
38-
auth: authProvider.auth,
37+
endpoint: endpoint,
38+
authToken: authProvider.auth.authToken,
3939
deviceMetadata: deviceMetadata,
4040
iterableRequest: iterableRequest).addingCreatedAt(currentDate)
4141
return apiCallRequest.convertToURLRequest(sentAt: currentDate)
@@ -87,7 +87,7 @@ class ApiClient {
8787

8888
private let apiKey: String
8989
private weak var authProvider: AuthProvider?
90-
private let endPoint: String
90+
private let endpoint: String
9191
private let networkSession: NetworkSessionProtocol
9292
private let deviceMetadata: DeviceMetadata
9393
private let dateProvider: DateProviderProtocol

swift-sdk/Internal/DependencyContainer.swift

Lines changed: 0 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -3,130 +3,6 @@
33
//
44

55
import Foundation
6-
import UIKit
7-
8-
protocol DependencyContainerProtocol: RedirectNetworkSessionProvider {
9-
var dateProvider: DateProviderProtocol { get }
10-
var networkSession: NetworkSessionProtocol { get }
11-
var notificationStateProvider: NotificationStateProviderProtocol { get }
12-
var localStorage: LocalStorageProtocol { get }
13-
var inAppDisplayer: InAppDisplayerProtocol { get }
14-
var inAppPersister: InAppPersistenceProtocol { get }
15-
var urlOpener: UrlOpenerProtocol { get }
16-
var applicationStateProvider: ApplicationStateProviderProtocol { get }
17-
var notificationCenter: NotificationCenterProtocol { get }
18-
var apnsTypeChecker: APNSTypeCheckerProtocol { get }
19-
20-
func createInAppFetcher(apiClient: ApiClientProtocol) -> InAppFetcherProtocol
21-
func createPersistenceContextProvider() -> IterablePersistenceContextProvider?
22-
func createRequestHandler(apiKey: String,
23-
config: IterableConfig,
24-
endPoint: String,
25-
authProvider: AuthProvider?,
26-
authManager: IterableAuthManagerProtocol,
27-
deviceMetadata: DeviceMetadata,
28-
offlineMode: Bool) -> RequestHandlerProtocol
29-
func createHealthMonitorDataProvider(persistenceContextProvider: IterablePersistenceContextProvider) -> HealthMonitorDataProviderProtocol
30-
}
31-
32-
extension DependencyContainerProtocol {
33-
func createInAppManager(config: IterableConfig,
34-
apiClient: ApiClientProtocol,
35-
requestHandler: RequestHandlerProtocol,
36-
deviceMetadata: DeviceMetadata) -> IterableInternalInAppManagerProtocol {
37-
InAppManager(requestHandler: requestHandler,
38-
deviceMetadata: deviceMetadata,
39-
fetcher: createInAppFetcher(apiClient: apiClient),
40-
displayer: inAppDisplayer,
41-
persister: inAppPersister,
42-
inAppDelegate: config.inAppDelegate,
43-
urlDelegate: config.urlDelegate,
44-
customActionDelegate: config.customActionDelegate,
45-
urlOpener: urlOpener,
46-
allowedProtocols: config.allowedProtocols,
47-
applicationStateProvider: applicationStateProvider,
48-
notificationCenter: notificationCenter,
49-
dateProvider: dateProvider,
50-
moveToForegroundSyncInterval: config.inAppDisplayInterval)
51-
}
52-
53-
func createAuthManager(config: IterableConfig) -> IterableAuthManagerProtocol {
54-
AuthManager(delegate: config.authDelegate,
55-
expirationRefreshPeriod: config.expiringAuthTokenRefreshPeriod,
56-
localStorage: localStorage,
57-
dateProvider: dateProvider)
58-
}
59-
60-
func createRequestHandler(apiKey: String,
61-
config: IterableConfig,
62-
endPoint: String,
63-
authProvider: AuthProvider?,
64-
authManager: IterableAuthManagerProtocol,
65-
deviceMetadata: DeviceMetadata,
66-
offlineMode: Bool) -> RequestHandlerProtocol {
67-
let onlineProcessor = OnlineRequestProcessor(apiKey: apiKey,
68-
authProvider: authProvider,
69-
authManager: authManager,
70-
endPoint: endPoint,
71-
networkSession: networkSession,
72-
deviceMetadata: deviceMetadata,
73-
dateProvider: dateProvider)
74-
if let persistenceContextProvider = createPersistenceContextProvider() {
75-
let healthMonitorDataProvider = createHealthMonitorDataProvider(persistenceContextProvider: persistenceContextProvider)
76-
let healthMonitor = HealthMonitor(dataProvider: healthMonitorDataProvider,
77-
dateProvider: dateProvider,
78-
networkSession: networkSession)
79-
let offlineProcessor = OfflineRequestProcessor(apiKey: apiKey,
80-
authProvider: authProvider,
81-
authManager: authManager,
82-
endPoint: endPoint,
83-
deviceMetadata: deviceMetadata,
84-
taskScheduler: createTaskScheduler(persistenceContextProvider: persistenceContextProvider,
85-
healthMonitor: healthMonitor),
86-
taskRunner: createTaskRunner(persistenceContextProvider: persistenceContextProvider,
87-
healthMonitor: healthMonitor),
88-
notificationCenter: notificationCenter)
89-
return RequestHandler(onlineProcessor: onlineProcessor,
90-
offlineProcessor: offlineProcessor,
91-
healthMonitor: healthMonitor,
92-
offlineMode: offlineMode)
93-
} else {
94-
return RequestHandler(onlineProcessor: onlineProcessor,
95-
offlineProcessor: nil,
96-
healthMonitor: nil,
97-
offlineMode: offlineMode)
98-
}
99-
}
100-
101-
func createHealthMonitorDataProvider(persistenceContextProvider: IterablePersistenceContextProvider) -> HealthMonitorDataProviderProtocol {
102-
HealthMonitorDataProvider(maxTasks: 1000, persistenceContextProvider: persistenceContextProvider)
103-
}
104-
105-
func createPersistenceContextProvider() -> IterablePersistenceContextProvider? {
106-
CoreDataPersistenceContextProvider(dateProvider: dateProvider)
107-
}
108-
109-
func createRedirectNetworkSession(delegate: RedirectNetworkSessionDelegate) -> NetworkSessionProtocol {
110-
RedirectNetworkSession(delegate: delegate)
111-
}
112-
113-
private func createTaskScheduler(persistenceContextProvider: IterablePersistenceContextProvider,
114-
healthMonitor: HealthMonitor) -> IterableTaskScheduler {
115-
IterableTaskScheduler(persistenceContextProvider: persistenceContextProvider,
116-
notificationCenter: notificationCenter,
117-
healthMonitor: healthMonitor,
118-
dateProvider: dateProvider)
119-
}
120-
121-
private func createTaskRunner(persistenceContextProvider: IterablePersistenceContextProvider,
122-
healthMonitor: HealthMonitor) -> IterableTaskRunner {
123-
IterableTaskRunner(networkSession: networkSession,
124-
persistenceContextProvider: persistenceContextProvider,
125-
healthMonitor: healthMonitor,
126-
notificationCenter: notificationCenter,
127-
connectivityManager: NetworkConnectivityManager())
128-
}
129-
}
1306

1317
struct DependencyContainer: DependencyContainerProtocol {
1328
func createInAppFetcher(apiClient: ApiClientProtocol) -> InAppFetcherProtocol {

0 commit comments

Comments
 (0)