From 232ce5f2d8db233e46bd521649d7b1d268a09646 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ullrich=20Sch=C3=A4fer?= Date: Wed, 24 Apr 2024 14:25:38 +0200 Subject: [PATCH] Removing old Push Subscription code --- MagicBell.xcodeproj/project.pbxproj | 72 --------------- .../Data/DeviceTokenQuery.swift | 17 ---- .../PushSubscriptionNetworkDataSource.swift | 88 ------------------- .../Data/PushSubscriptionQuery.swift | 31 ------- .../DeletePushSubscriptionInteractor.swift | 37 -------- .../SendPushSubscriptionInteractor.swift | 38 -------- .../PushSubscription/PushSubscription.swift | 53 ----------- .../PushSubscriptionDirector.swift | 68 -------------- .../PushSubscriptionProvider.swift | 76 ---------------- Source/MagicBellClient.swift | 3 - Source/SDKProvider.swift | 10 --- Source/User.swift | 5 -- 12 files changed, 498 deletions(-) delete mode 100644 Source/Features/PushSubscription/Data/DeviceTokenQuery.swift delete mode 100644 Source/Features/PushSubscription/Data/PushSubscriptionNetworkDataSource.swift delete mode 100644 Source/Features/PushSubscription/Data/PushSubscriptionQuery.swift delete mode 100644 Source/Features/PushSubscription/Interactor/DeletePushSubscriptionInteractor.swift delete mode 100644 Source/Features/PushSubscription/Interactor/SendPushSubscriptionInteractor.swift delete mode 100644 Source/Features/PushSubscription/PushSubscription.swift delete mode 100644 Source/Features/PushSubscription/PushSubscriptionDirector.swift delete mode 100644 Source/Features/PushSubscription/PushSubscriptionProvider.swift diff --git a/MagicBell.xcodeproj/project.pbxproj b/MagicBell.xcodeproj/project.pbxproj index ccf195e..0c88726 100644 --- a/MagicBell.xcodeproj/project.pbxproj +++ b/MagicBell.xcodeproj/project.pbxproj @@ -7,9 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 593883B027603023001D38FC /* SendPushSubscriptionInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 593883AF27603023001D38FC /* SendPushSubscriptionInteractor.swift */; }; - 593883B2276036BC001D38FC /* DeviceTokenQuery.swift in Sources */ = {isa = PBXBuildFile; fileRef = 593883B1276036BC001D38FC /* DeviceTokenQuery.swift */; }; - 593883B727603B9B001D38FC /* DeletePushSubscriptionInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 593883B627603B9B001D38FC /* DeletePushSubscriptionInteractor.swift */; }; 593883BF2761EBA9001D38FC /* LogLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 593883BE2761EBA9001D38FC /* LogLevel.swift */; }; 593883C22761F18D001D38FC /* GetNotificationPreferencesInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 593883C12761F18D001D38FC /* GetNotificationPreferencesInteractor.swift */; }; 593883C42761F581001D38FC /* UpdateNotificationPreferencesInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 593883C32761F581001D38FC /* UpdateNotificationPreferencesInteractor.swift */; }; @@ -69,12 +66,8 @@ 5997F8F72770ED4C00DED4E4 /* DeleteConfigMockInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5997F8F62770ED4C00DED4E4 /* DeleteConfigMockInteractor.swift */; }; 5997F8FB2770F42800DED4E4 /* NotificationMotherObject.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5997F8FA2770F42800DED4E4 /* NotificationMotherObject.swift */; }; 59B2DDA3276959AC0038B0EA /* NotificationPreferencesDirector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59B2DDA2276959AC0038B0EA /* NotificationPreferencesDirector.swift */; }; - 59B2DDA72769682C0038B0EA /* PushSubscriptionDirector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59B2DDA62769682C0038B0EA /* PushSubscriptionDirector.swift */; }; 59B2DDAC276AB4490038B0EA /* String+Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59B2DDAB276AB4490038B0EA /* String+Data.swift */; }; 59B2DDAE276B5C4C0038B0EA /* CodingKey+JSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59B2DDAD276B5C4C0038B0EA /* CodingKey+JSON.swift */; }; - 59C12ECC2746DBC200311D24 /* PushSubscriptionNetworkDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C12ECB2746DBC200311D24 /* PushSubscriptionNetworkDataSource.swift */; }; - 59C12ECF2746DC7100311D24 /* PushSubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C12ECE2746DC7100311D24 /* PushSubscription.swift */; }; - 59C12ED12746E48100311D24 /* PushSubscriptionProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C12ED02746E48100311D24 /* PushSubscriptionProvider.swift */; }; 59C12ED42747131000311D24 /* MappingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C12ED32747131000311D24 /* MappingError.swift */; }; 59C3CDBC274D039D0043BA77 /* MagicBellError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C3CDBB274D039D0043BA77 /* MagicBellError.swift */; }; 59C3CDC0274D2CC20043BA77 /* GetConfigInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C3CDBF274D2CC20043BA77 /* GetConfigInteractor.swift */; }; @@ -131,9 +124,7 @@ D2D215E127AC276700A104B8 /* ActionNotificationNetworkDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2D277252747C9CF00B5F69E /* ActionNotificationNetworkDataSource.swift */; }; D2D215E227AC276700A104B8 /* DeleteConfigInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C3CDC3274D36360043BA77 /* DeleteConfigInteractor.swift */; }; D2D215E327AC276700A104B8 /* NotificationNetworkDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59799E592746609A00BFB375 /* NotificationNetworkDataSource.swift */; }; - D2D215E427AC276700A104B8 /* PushSubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C12ECE2746DC7100311D24 /* PushSubscription.swift */; }; D2D215E627AC276700A104B8 /* NotificationStoreCombine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59CA80BB277A19A50024673C /* NotificationStoreCombine.swift */; }; - D2D215E727AC276700A104B8 /* PushSubscriptionDirector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59B2DDA62769682C0038B0EA /* PushSubscriptionDirector.swift */; }; D2D215E827AC276700A104B8 /* PageInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2CBA52127512462002F1E44 /* PageInfo.swift */; }; D2D215E927AC276700A104B8 /* StorePredicate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2CBA52E275128FA002F1E44 /* StorePredicate.swift */; }; D2D215EA27AC276700A104B8 /* NotificationPreferencesDirector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59B2DDA2276959AC0038B0EA /* NotificationPreferencesDirector.swift */; }; @@ -144,13 +135,11 @@ D2D215EF27AC276700A104B8 /* NotificationPreferencesMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 593883C527620F45001D38FC /* NotificationPreferencesMapper.swift */; }; D2D215F027AC276700A104B8 /* StoreDirector.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2C5A1AF2768C25500C20D74 /* StoreDirector.swift */; }; D2D215F127AC276700A104B8 /* MappingError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C12ED32747131000311D24 /* MappingError.swift */; }; - D2D215F227AC276700A104B8 /* PushSubscriptionNetworkDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C12ECB2746DBC200311D24 /* PushSubscriptionNetworkDataSource.swift */; }; D2D215F327AC276700A104B8 /* GraphQLFragment.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2CBA53227513D6A002F1E44 /* GraphQLFragment.swift */; }; D2D215F427AC276700A104B8 /* GraphQLResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2CBA52C27512642002F1E44 /* GraphQLResponse.swift */; }; D2D215F527AC276700A104B8 /* ConfigProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59799E4527465F8F00BFB375 /* ConfigProvider.swift */; }; D2D215F627AC276700A104B8 /* NotificationPreferencesProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59799E5F274660AD00BFB375 /* NotificationPreferencesProvider.swift */; }; D2D215F727AC276700A104B8 /* LogLevel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 593883BE2761EBA9001D38FC /* LogLevel.swift */; }; - D2D215F827AC276700A104B8 /* DeviceTokenQuery.swift in Sources */ = {isa = PBXBuildFile; fileRef = 593883B1276036BC001D38FC /* DeviceTokenQuery.swift */; }; D2D215F927AC276700A104B8 /* NotificationPreferencesEntity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59799E64274660AD00BFB375 /* NotificationPreferencesEntity.swift */; }; D2D215FA27AC276700A104B8 /* ActionNotificationInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59F4596D2758C739008F3BC8 /* ActionNotificationInteractor.swift */; }; D2D215FB27AC276700A104B8 /* StoreGraphQLRepresentableExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59569BB12750EEDF00FF1AA6 /* StoreGraphQLRepresentableExtensions.swift */; }; @@ -158,7 +147,6 @@ D2D215FD27AC276700A104B8 /* Config.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59799E522746604F00BFB375 /* Config.swift */; }; D2D215FE27AC276700A104B8 /* DeleteNotificationInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59F4596F2758CC25008F3BC8 /* DeleteNotificationInteractor.swift */; }; D2D215FF27AC276700A104B8 /* StoreProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59569BAD274F82F100FF1AA6 /* StoreProvider.swift */; }; - D2D2160027AC276700A104B8 /* DeletePushSubscriptionInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 593883B627603B9B001D38FC /* DeletePushSubscriptionInteractor.swift */; }; D2D2160127AC276700A104B8 /* StoreContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2CBA53027513747002F1E44 /* StoreContext.swift */; }; D2D2160227AC276700A104B8 /* StoreQuery.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59569BAF274F838D00FF1AA6 /* StoreQuery.swift */; }; D2D2160327AC276700A104B8 /* FetchStorePageInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59F4596A2758C39F008F3BC8 /* FetchStorePageInteractor.swift */; }; @@ -171,10 +159,8 @@ D2D2160A27AC276700A104B8 /* Notification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59799E5B2746609A00BFB375 /* Notification.swift */; }; D2D2160B27AC276700A104B8 /* NotificationStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59E92012275400F500D8877A /* NotificationStore.swift */; }; D2D2160C27AC276700A104B8 /* Edge.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2CBA52327512499002F1E44 /* Edge.swift */; }; - D2D2160D27AC276700A104B8 /* PushSubscriptionProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C12ED02746E48100311D24 /* PushSubscriptionProvider.swift */; }; D2D2160E27AC276700A104B8 /* HttpClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59799E3E27465BB500BFB375 /* HttpClient.swift */; }; D2D2160F27AC276700A104B8 /* GetStorePagesInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59569BB42750FD8700FF1AA6 /* GetStorePagesInteractor.swift */; }; - D2D2161027AC276700A104B8 /* PushSubscriptionQuery.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2D2772A2747D43200B5F69E /* PushSubscriptionQuery.swift */; }; D2D2161127AC276700A104B8 /* MagicBellError.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C3CDBB274D039D0043BA77 /* MagicBellError.swift */; }; D2D2161227AC276700A104B8 /* MagicBellClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59799E302746587000BFB375 /* MagicBellClient.swift */; }; D2D2161327AC276700A104B8 /* Environment.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59799E37274659D800BFB375 /* Environment.swift */; }; @@ -189,7 +175,6 @@ D2D2161C27AC276700A104B8 /* GetNotificationPreferencesInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 593883C12761F18D001D38FC /* GetNotificationPreferencesInteractor.swift */; }; D2D2161D27AC276700A104B8 /* NotificationValidator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5953192D27561BA8006673E9 /* NotificationValidator.swift */; }; D2D2161E27AC276700A104B8 /* StoreRealTime.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59F4597A275A48AD008F3BC8 /* StoreRealTime.swift */; }; - D2D2161F27AC276700A104B8 /* SendPushSubscriptionInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 593883AF27603023001D38FC /* SendPushSubscriptionInteractor.swift */; }; D2D2162027AC276700A104B8 /* ConfigNetworkDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59799E502746604F00BFB375 /* ConfigNetworkDataSource.swift */; }; D2D2162127AC276700A104B8 /* NotificationStorePublisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = D29D249127747DA000726ABD /* NotificationStorePublisher.swift */; }; D2D2162227AC276700A104B8 /* NotificationStoreObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2E038272767943F0077FFF3 /* NotificationStoreObserver.swift */; }; @@ -203,7 +188,6 @@ D2D216B127AC2DAE00A104B8 /* Ably.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 59799C4E27A20ADD0032C7D6 /* Ably.xcframework */; }; D2D277262747C9CF00B5F69E /* ActionNotificationNetworkDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2D277252747C9CF00B5F69E /* ActionNotificationNetworkDataSource.swift */; }; D2D277292747D40A00B5F69E /* NotificationQuery.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2D277282747D40A00B5F69E /* NotificationQuery.swift */; }; - D2D2772B2747D43200B5F69E /* PushSubscriptionQuery.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2D2772A2747D43200B5F69E /* PushSubscriptionQuery.swift */; }; D2E038282767943F0077FFF3 /* NotificationStoreObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2E038272767943F0077FFF3 /* NotificationStoreObserver.swift */; }; /* End PBXBuildFile section */ @@ -248,9 +232,6 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 593883AF27603023001D38FC /* SendPushSubscriptionInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SendPushSubscriptionInteractor.swift; sourceTree = ""; }; - 593883B1276036BC001D38FC /* DeviceTokenQuery.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeviceTokenQuery.swift; sourceTree = ""; }; - 593883B627603B9B001D38FC /* DeletePushSubscriptionInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeletePushSubscriptionInteractor.swift; sourceTree = ""; }; 593883BE2761EBA9001D38FC /* LogLevel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LogLevel.swift; sourceTree = ""; }; 593883C12761F18D001D38FC /* GetNotificationPreferencesInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetNotificationPreferencesInteractor.swift; sourceTree = ""; }; 593883C32761F581001D38FC /* UpdateNotificationPreferencesInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateNotificationPreferencesInteractor.swift; sourceTree = ""; }; @@ -306,12 +287,8 @@ 5997F8F62770ED4C00DED4E4 /* DeleteConfigMockInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeleteConfigMockInteractor.swift; sourceTree = ""; }; 5997F8FA2770F42800DED4E4 /* NotificationMotherObject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationMotherObject.swift; sourceTree = ""; }; 59B2DDA2276959AC0038B0EA /* NotificationPreferencesDirector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationPreferencesDirector.swift; sourceTree = ""; }; - 59B2DDA62769682C0038B0EA /* PushSubscriptionDirector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushSubscriptionDirector.swift; sourceTree = ""; }; 59B2DDAB276AB4490038B0EA /* String+Data.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Data.swift"; sourceTree = ""; }; 59B2DDAD276B5C4C0038B0EA /* CodingKey+JSON.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CodingKey+JSON.swift"; sourceTree = ""; }; - 59C12ECB2746DBC200311D24 /* PushSubscriptionNetworkDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushSubscriptionNetworkDataSource.swift; sourceTree = ""; }; - 59C12ECE2746DC7100311D24 /* PushSubscription.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushSubscription.swift; sourceTree = ""; }; - 59C12ED02746E48100311D24 /* PushSubscriptionProvider.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushSubscriptionProvider.swift; sourceTree = ""; }; 59C12ED32747131000311D24 /* MappingError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MappingError.swift; sourceTree = ""; }; 59C3CDBB274D039D0043BA77 /* MagicBellError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MagicBellError.swift; sourceTree = ""; }; 59C3CDBF274D2CC20043BA77 /* GetConfigInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GetConfigInteractor.swift; sourceTree = ""; }; @@ -361,7 +338,6 @@ D2D2163227AC276700A104B8 /* MagicBell.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MagicBell.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D2D277252747C9CF00B5F69E /* ActionNotificationNetworkDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ActionNotificationNetworkDataSource.swift; sourceTree = ""; }; D2D277282747D40A00B5F69E /* NotificationQuery.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationQuery.swift; sourceTree = ""; }; - D2D2772A2747D43200B5F69E /* PushSubscriptionQuery.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushSubscriptionQuery.swift; sourceTree = ""; }; D2E038272767943F0077FFF3 /* NotificationStoreObserver.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationStoreObserver.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -400,15 +376,6 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 593883AE27602EA1001D38FC /* Interactor */ = { - isa = PBXGroup; - children = ( - 593883AF27603023001D38FC /* SendPushSubscriptionInteractor.swift */, - 593883B627603B9B001D38FC /* DeletePushSubscriptionInteractor.swift */, - ); - path = Interactor; - sourceTree = ""; - }; 593883BD2761EB9E001D38FC /* Logger */ = { isa = PBXGroup; children = ( @@ -549,7 +516,6 @@ 59799E2F2746583200BFB375 /* Config */, 59799E562746609A00BFB375 /* Notification */, 59799E5E274660AD00BFB375 /* NotificationPreferences */, - 59C12EC82746DB9800311D24 /* PushSubscription */, ); path = Features; sourceTree = ""; @@ -697,28 +663,6 @@ path = Extension; sourceTree = ""; }; - 59C12EC82746DB9800311D24 /* PushSubscription */ = { - isa = PBXGroup; - children = ( - 59C12ECE2746DC7100311D24 /* PushSubscription.swift */, - 59C12ED02746E48100311D24 /* PushSubscriptionProvider.swift */, - 593883AE27602EA1001D38FC /* Interactor */, - 59C12EC92746DBAF00311D24 /* Data */, - 59B2DDA62769682C0038B0EA /* PushSubscriptionDirector.swift */, - ); - path = PushSubscription; - sourceTree = ""; - }; - 59C12EC92746DBAF00311D24 /* Data */ = { - isa = PBXGroup; - children = ( - D2D2772A2747D43200B5F69E /* PushSubscriptionQuery.swift */, - 59C12ECB2746DBC200311D24 /* PushSubscriptionNetworkDataSource.swift */, - 593883B1276036BC001D38FC /* DeviceTokenQuery.swift */, - ); - path = Data; - sourceTree = ""; - }; 59C12ED2274712F200311D24 /* Error */ = { isa = PBXGroup; children = ( @@ -1056,9 +1000,7 @@ 9415C4812BD933A50099C470 /* DeleteAPNSTokenQuery.swift in Sources */, 59C3CDC4274D36360043BA77 /* DeleteConfigInteractor.swift in Sources */, 59799E5C2746609A00BFB375 /* NotificationNetworkDataSource.swift in Sources */, - 59C12ECF2746DC7100311D24 /* PushSubscription.swift in Sources */, 59CA80BC277A19A50024673C /* NotificationStoreCombine.swift in Sources */, - 59B2DDA72769682C0038B0EA /* PushSubscriptionDirector.swift in Sources */, D2CBA52227512462002F1E44 /* PageInfo.swift in Sources */, D2CBA52F275128FA002F1E44 /* StorePredicate.swift in Sources */, 59B2DDA3276959AC0038B0EA /* NotificationPreferencesDirector.swift in Sources */, @@ -1072,13 +1014,11 @@ 593883C627620F45001D38FC /* NotificationPreferencesMapper.swift in Sources */, D2C5A1B02768C25500C20D74 /* StoreDirector.swift in Sources */, 59C12ED42747131000311D24 /* MappingError.swift in Sources */, - 59C12ECC2746DBC200311D24 /* PushSubscriptionNetworkDataSource.swift in Sources */, D2CBA53327513D6A002F1E44 /* GraphQLFragment.swift in Sources */, D2CBA52D27512642002F1E44 /* GraphQLResponse.swift in Sources */, 59799E4727465F8F00BFB375 /* ConfigProvider.swift in Sources */, 59799E65274660AD00BFB375 /* NotificationPreferencesProvider.swift in Sources */, 593883BF2761EBA9001D38FC /* LogLevel.swift in Sources */, - 593883B2276036BC001D38FC /* DeviceTokenQuery.swift in Sources */, 59799E67274660AD00BFB375 /* NotificationPreferencesEntity.swift in Sources */, 59F4596E2758C739008F3BC8 /* ActionNotificationInteractor.swift in Sources */, 59569BB22750EEDF00FF1AA6 /* StoreGraphQLRepresentableExtensions.swift in Sources */, @@ -1086,7 +1026,6 @@ 59799E552746604F00BFB375 /* Config.swift in Sources */, 59F459702758CC25008F3BC8 /* DeleteNotificationInteractor.swift in Sources */, 59569BAE274F82F100FF1AA6 /* StoreProvider.swift in Sources */, - 593883B727603B9B001D38FC /* DeletePushSubscriptionInteractor.swift in Sources */, D2CBA53127513747002F1E44 /* StoreContext.swift in Sources */, 59569BB0274F838D00FF1AA6 /* StoreQuery.swift in Sources */, 59F4596B2758C39F008F3BC8 /* FetchStorePageInteractor.swift in Sources */, @@ -1100,12 +1039,10 @@ 59799E5D2746609A00BFB375 /* Notification.swift in Sources */, 59E92013275400F500D8877A /* NotificationStore.swift in Sources */, D2CBA52427512499002F1E44 /* Edge.swift in Sources */, - 59C12ED12746E48100311D24 /* PushSubscriptionProvider.swift in Sources */, 9415C47A2BD932D30099C470 /* APNSTokenNetworkDataSource.swift in Sources */, 59799E4027465BB500BFB375 /* HttpClient.swift in Sources */, 9415C46E2BD932D30099C470 /* APNSToken.swift in Sources */, 59569BB52750FD8700FF1AA6 /* GetStorePagesInteractor.swift in Sources */, - D2D2772B2747D43200B5F69E /* PushSubscriptionQuery.swift in Sources */, 59C3CDBC274D039D0043BA77 /* MagicBellError.swift in Sources */, 59799E312746587000BFB375 /* MagicBellClient.swift in Sources */, 59799E38274659D800BFB375 /* Environment.swift in Sources */, @@ -1122,7 +1059,6 @@ 593883C22761F18D001D38FC /* GetNotificationPreferencesInteractor.swift in Sources */, 5953192E27561BA8006673E9 /* NotificationValidator.swift in Sources */, 59F4597B275A48AD008F3BC8 /* StoreRealTime.swift in Sources */, - 593883B027603023001D38FC /* SendPushSubscriptionInteractor.swift in Sources */, 59799E542746604F00BFB375 /* ConfigNetworkDataSource.swift in Sources */, D29D249227747DA000726ABD /* NotificationStorePublisher.swift in Sources */, D2E038282767943F0077FFF3 /* NotificationStoreObserver.swift in Sources */, @@ -1172,9 +1108,7 @@ 9415C4822BD933A50099C470 /* DeleteAPNSTokenQuery.swift in Sources */, D2D215E227AC276700A104B8 /* DeleteConfigInteractor.swift in Sources */, D2D215E327AC276700A104B8 /* NotificationNetworkDataSource.swift in Sources */, - D2D215E427AC276700A104B8 /* PushSubscription.swift in Sources */, D2D215E627AC276700A104B8 /* NotificationStoreCombine.swift in Sources */, - D2D215E727AC276700A104B8 /* PushSubscriptionDirector.swift in Sources */, D2D215E827AC276700A104B8 /* PageInfo.swift in Sources */, D2D215E927AC276700A104B8 /* StorePredicate.swift in Sources */, D2D215EA27AC276700A104B8 /* NotificationPreferencesDirector.swift in Sources */, @@ -1188,13 +1122,11 @@ D2D215EF27AC276700A104B8 /* NotificationPreferencesMapper.swift in Sources */, D2D215F027AC276700A104B8 /* StoreDirector.swift in Sources */, D2D215F127AC276700A104B8 /* MappingError.swift in Sources */, - D2D215F227AC276700A104B8 /* PushSubscriptionNetworkDataSource.swift in Sources */, D2D215F327AC276700A104B8 /* GraphQLFragment.swift in Sources */, D2D215F427AC276700A104B8 /* GraphQLResponse.swift in Sources */, D2D215F527AC276700A104B8 /* ConfigProvider.swift in Sources */, D2D215F627AC276700A104B8 /* NotificationPreferencesProvider.swift in Sources */, D2D215F727AC276700A104B8 /* LogLevel.swift in Sources */, - D2D215F827AC276700A104B8 /* DeviceTokenQuery.swift in Sources */, D2D215F927AC276700A104B8 /* NotificationPreferencesEntity.swift in Sources */, D2D215FA27AC276700A104B8 /* ActionNotificationInteractor.swift in Sources */, D2D215FB27AC276700A104B8 /* StoreGraphQLRepresentableExtensions.swift in Sources */, @@ -1202,7 +1134,6 @@ D2D215FD27AC276700A104B8 /* Config.swift in Sources */, D2D215FE27AC276700A104B8 /* DeleteNotificationInteractor.swift in Sources */, D2D215FF27AC276700A104B8 /* StoreProvider.swift in Sources */, - D2D2160027AC276700A104B8 /* DeletePushSubscriptionInteractor.swift in Sources */, D2D2160127AC276700A104B8 /* StoreContext.swift in Sources */, D2D2160227AC276700A104B8 /* StoreQuery.swift in Sources */, D2D2160327AC276700A104B8 /* FetchStorePageInteractor.swift in Sources */, @@ -1216,12 +1147,10 @@ D2D2160A27AC276700A104B8 /* Notification.swift in Sources */, D2D2160B27AC276700A104B8 /* NotificationStore.swift in Sources */, D2D2160C27AC276700A104B8 /* Edge.swift in Sources */, - D2D2160D27AC276700A104B8 /* PushSubscriptionProvider.swift in Sources */, 9415C47B2BD932D30099C470 /* APNSTokenNetworkDataSource.swift in Sources */, D2D2160E27AC276700A104B8 /* HttpClient.swift in Sources */, 9415C46F2BD932D30099C470 /* APNSToken.swift in Sources */, D2D2160F27AC276700A104B8 /* GetStorePagesInteractor.swift in Sources */, - D2D2161027AC276700A104B8 /* PushSubscriptionQuery.swift in Sources */, D2D2161127AC276700A104B8 /* MagicBellError.swift in Sources */, D2D2161227AC276700A104B8 /* MagicBellClient.swift in Sources */, D2D2161327AC276700A104B8 /* Environment.swift in Sources */, @@ -1238,7 +1167,6 @@ D2D2161C27AC276700A104B8 /* GetNotificationPreferencesInteractor.swift in Sources */, D2D2161D27AC276700A104B8 /* NotificationValidator.swift in Sources */, D2D2161E27AC276700A104B8 /* StoreRealTime.swift in Sources */, - D2D2161F27AC276700A104B8 /* SendPushSubscriptionInteractor.swift in Sources */, D2D2162027AC276700A104B8 /* ConfigNetworkDataSource.swift in Sources */, D2D2162127AC276700A104B8 /* NotificationStorePublisher.swift in Sources */, D2D2162227AC276700A104B8 /* NotificationStoreObserver.swift in Sources */, diff --git a/Source/Features/PushSubscription/Data/DeviceTokenQuery.swift b/Source/Features/PushSubscription/Data/DeviceTokenQuery.swift deleted file mode 100644 index e3b01f6..0000000 --- a/Source/Features/PushSubscription/Data/DeviceTokenQuery.swift +++ /dev/null @@ -1,17 +0,0 @@ -// -// By downloading or using this software made available by MagicBell, Inc. -// ("MagicBell") or any documentation that accompanies it (collectively, the -// "Software"), you and the company or entity that you represent (collectively, -// "you" or "your") are consenting to be bound by and are becoming a party to this -// License Agreement (this "Agreement"). You hereby represent and warrant that you -// are authorized and lawfully able to bind such company or entity that you -// represent to this Agreement. If you do not have such authority or do not agree -// to all of the terms of this Agreement, you may not download or use the Software. -// -// For more information, read the LICENSE file. -// -import Harmony - -class DeviceTokenQuery: KeyQuery { - var key: String = "magicbell.devicetoken" -} diff --git a/Source/Features/PushSubscription/Data/PushSubscriptionNetworkDataSource.swift b/Source/Features/PushSubscription/Data/PushSubscriptionNetworkDataSource.swift deleted file mode 100644 index ed9e0f5..0000000 --- a/Source/Features/PushSubscription/Data/PushSubscriptionNetworkDataSource.swift +++ /dev/null @@ -1,88 +0,0 @@ -// -// By downloading or using this software made available by MagicBell, Inc. -// ("MagicBell") or any documentation that accompanies it (collectively, the -// "Software"), you and the company or entity that you represent (collectively, -// "you" or "your") are consenting to be bound by and are becoming a party to this -// License Agreement (this "Agreement"). You hereby represent and warrant that you -// are authorized and lawfully able to bind such company or entity that you -// represent to this Agreement. If you do not have such authority or do not agree -// to all of the terms of this Agreement, you may not download or use the Software. -// -// For more information, read the LICENSE file. -// - -import Foundation -import Harmony - -class PushSubscriptionNetworkDataSource: PutDataSource, DeleteDataSource { - typealias T = PushSubscription - - private let httpClient: HttpClient - private let mapper: Mapper - - init( - httpClient: HttpClient, - mapper: Mapper - ) { - self.httpClient = httpClient - self.mapper = mapper - } - - func put(_ value: PushSubscription?, in query: Query) -> Future { - switch query { - case let pushSubscriptionQuery as RegisterPushSubscriptionQuery: - guard let value = value else { - return Future(NetworkError(message: "Value cannot be nil")) - } - var urlRequest = httpClient.prepareURLRequest( - path: "/push_subscriptions", - externalId: pushSubscriptionQuery.user.externalId, - email: pushSubscriptionQuery.user.email, - hmac: pushSubscriptionQuery.user.hmac - ) - urlRequest.httpMethod = "POST" - do { - urlRequest.httpBody = try JSONEncoder().encode(value) - } catch { - return Future(MappingError(className: "\(T.self)")) - } - - return self.httpClient - .performRequest(urlRequest) - .map { try self.mapper.map($0) } - default: - assertionFailure("Should never happen") - return Future(CoreError.NotImplemented()) - } - } - - func putAll(_ array: [PushSubscription], in query: Query) -> Future<[PushSubscription]> { - assertionFailure("Should never happen") - return Future(CoreError.NotImplemented()) - } - - func delete(_ query: Query) -> Future { - switch query { - case let deletePushSubscriptionQuery as DeletePushSubscriptionQuery: - var urlRequest = self.httpClient.prepareURLRequest( - path: "/push_subscriptions/\(deletePushSubscriptionQuery.deviceToken)", - externalId: deletePushSubscriptionQuery.user.externalId, - email: deletePushSubscriptionQuery.user.email, - hmac: deletePushSubscriptionQuery.user.hmac - ) - urlRequest.httpMethod = "DELETE" - - return self.httpClient - .performRequest(urlRequest) - .map { _ in Void() } - default: - assertionFailure("Should never happen") - return Future(CoreError.NotImplemented()) - } - } - - func deleteAll(_ query: Query) -> Future { - assertionFailure("Should never happen") - return Future(CoreError.NotImplemented()) - } -} diff --git a/Source/Features/PushSubscription/Data/PushSubscriptionQuery.swift b/Source/Features/PushSubscription/Data/PushSubscriptionQuery.swift deleted file mode 100644 index 099e946..0000000 --- a/Source/Features/PushSubscription/Data/PushSubscriptionQuery.swift +++ /dev/null @@ -1,31 +0,0 @@ -// -// By downloading or using this software made available by MagicBell, Inc. -// ("MagicBell") or any documentation that accompanies it (collectively, the -// "Software"), you and the company or entity that you represent (collectively, -// "you" or "your") are consenting to be bound by and are becoming a party to this -// License Agreement (this "Agreement"). You hereby represent and warrant that you -// are authorized and lawfully able to bind such company or entity that you -// represent to this Agreement. If you do not have such authority or do not agree -// to all of the terms of this Agreement, you may not download or use the Software. -// -// For more information, read the LICENSE file. -// -import Harmony - -class RegisterPushSubscriptionQuery: Query { - let user: UserQuery - - init(user: UserQuery) { - self.user = user - } -} - -class DeletePushSubscriptionQuery: Query { - let user: UserQuery - let deviceToken: String - - init(user: UserQuery, deviceToken: String) { - self.user = user - self.deviceToken = deviceToken - } -} diff --git a/Source/Features/PushSubscription/Interactor/DeletePushSubscriptionInteractor.swift b/Source/Features/PushSubscription/Interactor/DeletePushSubscriptionInteractor.swift deleted file mode 100644 index 0773ed3..0000000 --- a/Source/Features/PushSubscription/Interactor/DeletePushSubscriptionInteractor.swift +++ /dev/null @@ -1,37 +0,0 @@ -// -// By downloading or using this software made available by MagicBell, Inc. -// ("MagicBell") or any documentation that accompanies it (collectively, the -// "Software"), you and the company or entity that you represent (collectively, -// "you" or "your") are consenting to be bound by and are becoming a party to this -// License Agreement (this "Agreement"). You hereby represent and warrant that you -// are authorized and lawfully able to bind such company or entity that you -// represent to this Agreement. If you do not have such authority or do not agree -// to all of the terms of this Agreement, you may not download or use the Software. -// -// For more information, read the LICENSE file. -// - -import Harmony - -struct DeletePushSubscriptionInteractor { - - private let executor: Executor - private let deletePushSubscriptionInteractor: Interactor.DeleteByQuery - private let logger: Logger - - init( - executor: Executor, - deletePushSubscriptionInteractor: Interactor.DeleteByQuery, - logger: Logger - ) { - self.executor = executor - self.deletePushSubscriptionInteractor = deletePushSubscriptionInteractor - self.logger = logger - } - - func execute(deviceToken: String, userQuery: UserQuery) -> Future { - return executor.submit { resolver in - resolver.set(deletePushSubscriptionInteractor.execute(DeletePushSubscriptionQuery(user: userQuery, deviceToken: deviceToken), in: DirectExecutor())) - } - } -} diff --git a/Source/Features/PushSubscription/Interactor/SendPushSubscriptionInteractor.swift b/Source/Features/PushSubscription/Interactor/SendPushSubscriptionInteractor.swift deleted file mode 100644 index a4644ac..0000000 --- a/Source/Features/PushSubscription/Interactor/SendPushSubscriptionInteractor.swift +++ /dev/null @@ -1,38 +0,0 @@ -// -// By downloading or using this software made available by MagicBell, Inc. -// ("MagicBell") or any documentation that accompanies it (collectively, the -// "Software"), you and the company or entity that you represent (collectively, -// "you" or "your") are consenting to be bound by and are becoming a party to this -// License Agreement (this "Agreement"). You hereby represent and warrant that you -// are authorized and lawfully able to bind such company or entity that you -// represent to this Agreement. If you do not have such authority or do not agree -// to all of the terms of this Agreement, you may not download or use the Software. -// -// For more information, read the LICENSE file. -// - -import Harmony - -struct SendPushSubscriptionInteractor { - private let executor: Executor - private let putPushSubscriptionInteractor: Interactor.PutByQuery - private let logger: Logger - - init( - executor: Executor, - putPushSubscriptionInteractor: Interactor.PutByQuery, - logger: Logger - ) { - self.executor = executor - self.putPushSubscriptionInteractor = putPushSubscriptionInteractor - self.logger = logger - } - - func execute(deviceToken: String, userQuery: UserQuery) -> Future { - executor.submit { resolver in - let pushSubscription = PushSubscription(id: nil, deviceToken: deviceToken, platform: PushSubscription.platformIOS) - let pushSubscriptionQuery = RegisterPushSubscriptionQuery(user: userQuery) - resolver.set(putPushSubscriptionInteractor.execute(pushSubscription, query: pushSubscriptionQuery, in: DirectExecutor())) - } - } -} diff --git a/Source/Features/PushSubscription/PushSubscription.swift b/Source/Features/PushSubscription/PushSubscription.swift deleted file mode 100644 index ab31fe6..0000000 --- a/Source/Features/PushSubscription/PushSubscription.swift +++ /dev/null @@ -1,53 +0,0 @@ -// -// By downloading or using this software made available by MagicBell, Inc. -// ("MagicBell") or any documentation that accompanies it (collectively, the -// "Software"), you and the company or entity that you represent (collectively, -// "you" or "your") are consenting to be bound by and are becoming a party to this -// License Agreement (this "Agreement"). You hereby represent and warrant that you -// are authorized and lawfully able to bind such company or entity that you -// represent to this Agreement. If you do not have such authority or do not agree -// to all of the terms of this Agreement, you may not download or use the Software. -// -// For more information, read the LICENSE file. -// - -import Foundation - -struct PushSubscription: Codable { - static let platformIOS = "ios" - - public let id: String? - public let deviceToken: String - public let platform: String - - init(id: String? = nil, deviceToken: String, platform: String) { - self.id = id - self.deviceToken = deviceToken - self.platform = platform - } - - enum ContainerKeys: String, CodingKey { - case pushSubscription = "push_subscription" - } - - enum CodingKeys: String, CodingKey { - case id - case deviceToken = "device_token" - case platform - } - - init(from decoder: Decoder) throws { - let container = try decoder.container(keyedBy: ContainerKeys.self) - let values = try container.nestedContainer(keyedBy: CodingKeys.self, forKey: .pushSubscription) - id = try values.decodeIfPresent(String.self, forKey: .id) - deviceToken = try values.decode(String.self, forKey: .deviceToken) - platform = try values.decode(String.self, forKey: .platform) - } - - func encode(to encoder: Encoder) throws { - var container = encoder.container(keyedBy: ContainerKeys.self) - var pushSubscriptionContainer = container.nestedContainer(keyedBy: CodingKeys.self, forKey: .pushSubscription) - try pushSubscriptionContainer.encode(deviceToken, forKey: .deviceToken) - try pushSubscriptionContainer.encode(platform, forKey: .platform) - } -} diff --git a/Source/Features/PushSubscription/PushSubscriptionDirector.swift b/Source/Features/PushSubscription/PushSubscriptionDirector.swift deleted file mode 100644 index fd958d8..0000000 --- a/Source/Features/PushSubscription/PushSubscriptionDirector.swift +++ /dev/null @@ -1,68 +0,0 @@ -// -// By downloading or using this software made available by MagicBell, Inc. -// ("MagicBell") or any documentation that accompanies it (collectively, the -// "Software"), you and the company or entity that you represent (collectively, -// "you" or "your") are consenting to be bound by and are becoming a party to this -// License Agreement (this "Agreement"). You hereby represent and warrant that you -// are authorized and lawfully able to bind such company or entity that you -// represent to this Agreement. If you do not have such authority or do not agree -// to all of the terms of this Agreement, you may not download or use the Software. -// -// For more information, read the LICENSE file. -// - -import Foundation -import Harmony - -protocol PushSubscriptionDirector { - /// Sends a push subscription - func sendPushSubscription(_ deviceToken: String) - - /// Deletes a push subscription - func deletePushSubscription(_ deviceToken: String) -} - -class DefaultPushSubscriptionDirector: PushSubscriptionDirector { - - private let logger: Logger - private let userQuery: UserQuery - private let sendPushSubscriptionInteractor: SendPushSubscriptionInteractor - private let deletePushSubscriptionInteractor: DeletePushSubscriptionInteractor - - init( - logger: Logger, - userQuery: UserQuery, - sendPushSubscriptionInteractor: SendPushSubscriptionInteractor, - deletePushSubscriptionInteractor: DeletePushSubscriptionInteractor - ) { - self.logger = logger - self.userQuery = userQuery - self.sendPushSubscriptionInteractor = sendPushSubscriptionInteractor - self.deletePushSubscriptionInteractor = deletePushSubscriptionInteractor - } - - func sendPushSubscription(_ deviceToken: String) { - sendPushSubscriptionInteractor - .execute(deviceToken: deviceToken, userQuery: userQuery) - .then { pushSubscription in - self.logger.info(tag: magicBellTag, "Push subcription is created \(pushSubscription)") - }.fail { error in - self.logger.info(tag: magicBellTag, "Send device token failed: \(error)") - DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(10)) { [weak self] in - self?.sendPushSubscription(deviceToken) - } - } - } - - func deletePushSubscription(_ deviceToken: String) { - deletePushSubscriptionInteractor.execute(deviceToken: deviceToken, userQuery: userQuery) - .then { _ in - self.logger.info(tag: magicBellTag, "Device token was unregistered succesfully") - }.fail { error in - self.logger.error(tag: magicBellTag, "Device token couldn't be unregistered: \(error)") - DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(10)) { [weak self] in - self?.deletePushSubscription(deviceToken) - } - } - } -} diff --git a/Source/Features/PushSubscription/PushSubscriptionProvider.swift b/Source/Features/PushSubscription/PushSubscriptionProvider.swift deleted file mode 100644 index 98e257f..0000000 --- a/Source/Features/PushSubscription/PushSubscriptionProvider.swift +++ /dev/null @@ -1,76 +0,0 @@ -// -// By downloading or using this software made available by MagicBell, Inc. -// ("MagicBell") or any documentation that accompanies it (collectively, the -// "Software"), you and the company or entity that you represent (collectively, -// "you" or "your") are consenting to be bound by and are becoming a party to this -// License Agreement (this "Agreement"). You hereby represent and warrant that you -// are authorized and lawfully able to bind such company or entity that you -// represent to this Agreement. If you do not have such authority or do not agree -// to all of the terms of this Agreement, you may not download or use the Software. -// -// For more information, read the LICENSE file. -// - -import Foundation -import Harmony - -protocol PushSubscriptionComponent { - func pushSubscriptionDirector(with userQuery: UserQuery) -> PushSubscriptionDirector -} - -class DefaultPushSubscriptionModule: PushSubscriptionComponent { - - private let httpClient: HttpClient - private let executor: Executor - private let logger: Logger - - init( - httpClient: HttpClient, - executor: Executor, - logger: Logger - ) { - self.httpClient = httpClient - self.executor = executor - self.logger = logger - } - - func pushSubscriptionDirector(with userQuery: UserQuery) -> PushSubscriptionDirector { - DefaultPushSubscriptionDirector( - logger: logger, - userQuery: userQuery, - sendPushSubscriptionInteractor: getSendPushSubscriptionInteractor(), - deletePushSubscriptionInteractor: getDeletePushSubscriptionInteractor() - ) - } - - // MARK: - Push subscription - - private func getSendPushSubscriptionInteractor() -> SendPushSubscriptionInteractor { - SendPushSubscriptionInteractor( - executor: executor, - putPushSubscriptionInteractor: putPushSubscriptionInteractor, - logger: logger - ) - } - - private var putPushSubscriptionInteractor: Interactor.PutByQuery { - pushSubscritionRepository.toPutByQueryInteractor(executor) - } - - private func getDeletePushSubscriptionInteractor() -> DeletePushSubscriptionInteractor { - DeletePushSubscriptionInteractor( - executor: executor, - deletePushSubscriptionInteractor: pushSubscritionRepository.toDeleteByQueryInteractor(executor), - logger: logger - ) - } - - private lazy var pushSubscritionRepository: AnyRepository = { - let pushSubscriptionNetworkDataSource = PushSubscriptionNetworkDataSource( - httpClient: httpClient, - mapper: DataToDecodableMapper() - ) - let assemblePushSubscriptionDataSource = DataSourceAssembler(put: pushSubscriptionNetworkDataSource, delete: pushSubscriptionNetworkDataSource) - return AnyRepository(SingleDataSourceRepository(assemblePushSubscriptionDataSource)) - }() -} diff --git a/Source/MagicBellClient.swift b/Source/MagicBellClient.swift index 7c85376..14e8e52 100644 --- a/Source/MagicBellClient.swift +++ b/Source/MagicBellClient.swift @@ -118,13 +118,11 @@ public class MagicBellClient { userQuery: userQuery, store: sdkProvider.getStoreComponent().storeDirector(with: userQuery), preferences: sdkProvider.getNotificationPreferencesComponent().notificationPreferencesDirector(with: userQuery), - pushSubscription: sdkProvider.getPushSubscriptionComponent().pushSubscriptionDirector(with: userQuery), apnsToken: sdkProvider.getAPNSTokenComponent().apnsTokenDirector(with: userQuery) ) users[userQuery.key] = newUser if let deviceToken = self.deviceToken { newUser.apnsToken.registerAPNSToken(deviceToken) - newUser.pushSubscription.sendPushSubscription(deviceToken) } return newUser @@ -149,7 +147,6 @@ public class MagicBellClient { // If users are logged in, send the device token to the MagicBell server users.values.forEach { user in user.apnsToken.registerAPNSToken(token) - user.pushSubscription.sendPushSubscription(token) } } } diff --git a/Source/SDKProvider.swift b/Source/SDKProvider.swift index bf4d185..f2919fc 100644 --- a/Source/SDKProvider.swift +++ b/Source/SDKProvider.swift @@ -18,7 +18,6 @@ protocol SDKComponent { func getLogger() -> Logger func getStoreComponent() -> StoreComponent func getStoreRealTimeComponent() -> StoreRealTimeComponent - func getPushSubscriptionComponent() -> PushSubscriptionComponent func getAPNSTokenComponent() -> APNSTokenComponent func getNotificationPreferencesComponent() -> NotificationPreferencesComponent func getConfigComponent() -> ConfigComponent @@ -55,11 +54,6 @@ class DefaultSDKModule: SDKComponent { httpClient: httpClient, executor: executorComponent.mainExecutor ) - private lazy var pushSubscriptionComponent = DefaultPushSubscriptionModule( - httpClient: httpClient, - executor: executorComponent.mainExecutor, - logger: logger - ) private lazy var apnsTokenComponent = DefaultAPNSTokenModule( httpClient: httpClient, executor: executorComponent.mainExecutor, @@ -93,10 +87,6 @@ class DefaultSDKModule: SDKComponent { return storeRealTimeComponent } - func getPushSubscriptionComponent() -> PushSubscriptionComponent { - return pushSubscriptionComponent - } - func getNotificationPreferencesComponent() -> NotificationPreferencesComponent { return notificationPreferencesComponent } diff --git a/Source/User.swift b/Source/User.swift index 3bc147e..0eece28 100644 --- a/Source/User.swift +++ b/Source/User.swift @@ -19,7 +19,6 @@ public class User { private let userQuery: UserQuery private var internalStoreDirector: InternalStoreDirector public private(set) var preferences: NotificationPreferencesDirector - private(set) var pushSubscription: PushSubscriptionDirector private(set) var apnsToken: APNSTokenDirector /// The store director. @@ -31,26 +30,22 @@ public class User { userQuery: UserQuery, store: InternalStoreDirector, preferences: NotificationPreferencesDirector, - pushSubscription: PushSubscriptionDirector, apnsToken: APNSTokenDirector ) { self.userQuery = userQuery self.internalStoreDirector = store self.preferences = preferences - self.pushSubscription = pushSubscription self.apnsToken = apnsToken } func sendDeviceToken(deviceToken: String) { apnsToken.registerAPNSToken(deviceToken) - pushSubscription.sendPushSubscription(deviceToken) } func logout(deviceToken: String?) { internalStoreDirector.logout() if let deviceToken = deviceToken { apnsToken.deleteAPNSToken(deviceToken) - pushSubscription.deletePushSubscription(deviceToken) } } }