vibes-react-native 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/package.json +8 -3
  2. package/android/.gradle/6.8/executionHistory/executionHistory.lock +0 -0
  3. package/android/.gradle/6.8/fileChanges/last-build.bin +0 -0
  4. package/android/.gradle/6.8/fileHashes/fileHashes.lock +0 -0
  5. package/android/.gradle/6.8/gc.properties +0 -0
  6. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  7. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  8. package/android/.gradle/checksums/checksums.lock +0 -0
  9. package/android/.gradle/configuration-cache/gc.properties +0 -0
  10. package/android/.gradle/vcs-1/gc.properties +0 -0
  11. package/android/build.gradle +0 -63
  12. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  13. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  14. package/android/gradlew +0 -185
  15. package/android/gradlew.bat +0 -89
  16. package/android/src/main/AndroidManifest.xml +0 -30
  17. package/android/src/main/java/com/vibes/push/rn/plugin/PushEvtEmitter.java +0 -65
  18. package/android/src/main/java/com/vibes/push/rn/plugin/VibesAppHelper.java +0 -186
  19. package/android/src/main/java/com/vibes/push/rn/plugin/VibesModule.java +0 -490
  20. package/android/src/main/java/com/vibes/push/rn/plugin/VibesPackage.java +0 -28
  21. package/android/src/main/java/com/vibes/push/rn/plugin/notifications/Fms.java +0 -132
  22. package/android/src/main/java/com/vibes/push/rn/plugin/notifications/PayloadWrapper.java +0 -23
  23. package/android/src/main/java/com/vibes/push/rn/plugin/notifications/VibesPushReceiver.java +0 -62
  24. package/ios/Configuration.swift +0 -68
  25. package/ios/Notifications.swift +0 -72
  26. package/ios/Vibes-Bridging-Header.h +0 -2
  27. package/ios/Vibes.m +0 -56
  28. package/ios/Vibes.swift +0 -378
  29. package/ios/Vibes.xcodeproj/project.pbxproj +0 -293
  30. package/ios/VibesClient.swift +0 -35
  31. package/ios/VibesPluginLogger.swift +0 -160
  32. package/lib/commonjs/index.js +0 -163
  33. package/lib/commonjs/index.js.map +0 -1
  34. package/lib/module/index.js +0 -143
  35. package/lib/module/index.js.map +0 -1
  36. package/src/index.tsx +0 -182
  37. /package/{lib → ib}/typescript/index.d.ts +0 -0
@@ -1,62 +0,0 @@
1
- package com.vibes.push.rn.plugin.notifications;
2
-
3
- import android.content.Context;
4
- import android.os.Handler;
5
- import android.os.Looper;
6
- import android.util.Log;
7
-
8
- import com.facebook.react.ReactApplication;
9
- import com.facebook.react.ReactInstanceManager;
10
- import com.facebook.react.bridge.ReactContext;
11
- import com.vibes.push.rn.plugin.VibesModule;
12
- import com.vibes.push.rn.plugin.PushEvtEmitter;
13
- import com.vibes.vibes.PushPayloadParser;
14
- import com.vibes.vibes.Vibes;
15
- import com.vibes.vibes.VibesReceiver;
16
-
17
- import static com.vibes.push.rn.plugin.VibesModule.TAG;
18
-
19
- public class VibesPushReceiver extends VibesReceiver {
20
-
21
- @Override
22
- protected void onPushOpened(Context context, PushPayloadParser pushModel) {
23
- super.onPushOpened(context, pushModel);
24
- Log.d(TAG, "Push message tapped. Emitting event");
25
- emitPayload(context, pushModel);
26
- }
27
-
28
- public static void emitPayload(Context context, PushPayloadParser pushModel) {
29
- // We need to run this on the main thread, as the React code assumes that is
30
- // true.
31
- // Namely, DevServerHelper constructs a Handler() without a Looper, which
32
- // triggers:
33
- // "Can't create handler inside thread that has not called Looper.prepare()"
34
- Handler handler = new Handler(Looper.getMainLooper());
35
- handler.post(new Runnable() {
36
- public void run() {
37
- // Construct and load our normal React JS code bundle
38
- final ReactInstanceManager mReactInstanceManager = ((ReactApplication) context.getApplicationContext())
39
- .getReactNativeHost().getReactInstanceManager();
40
- ReactContext context = mReactInstanceManager.getCurrentReactContext();
41
- // If it's constructed, send a notification
42
- if (context != null) {
43
- PushEvtEmitter pushEmitter = new PushEvtEmitter(context);
44
- pushEmitter.notifyPushOpened(pushModel);
45
- } else {
46
- // Otherwise wait for construction, then send the notification
47
- mReactInstanceManager.addReactInstanceEventListener(new ReactInstanceManager.ReactInstanceEventListener() {
48
- public void onReactContextInitialized(ReactContext context) {
49
- PushEvtEmitter pushEmitter = new PushEvtEmitter(context);
50
- pushEmitter.notifyPushOpened(pushModel);
51
- mReactInstanceManager.removeReactInstanceEventListener(this);
52
- }
53
- });
54
- if (!mReactInstanceManager.hasStartedCreatingInitialContext()) {
55
- // Construct it in the background
56
- mReactInstanceManager.createReactContextInBackground();
57
- }
58
- }
59
- }
60
- });
61
- }
62
- }
@@ -1,68 +0,0 @@
1
- //
2
- // Configuration.swift
3
- // Vibes
4
- //
5
- // Created by DHwty on 22/04/2022.
6
- // Copyright © 2022 Facebook. All rights reserved.
7
- //
8
-
9
- import Foundation
10
-
11
- /// Keys found in <Configuration>.plist file i.e in UAT.plist and Production.plist
12
- ///
13
- /// - appBuildNumber: The app build number
14
- /// - appVersionNumber: The app version number
15
- /// - vibesAppURL: Vibes app url
16
- /// - vibesAppId: Vibes app id
17
- /// - vibesAppEnv: Vibes app env: UAT or PROD
18
- /// - logseneToken: Logsene token
19
- public enum ConfigKey {
20
- case appBuildNumber
21
- case appVersionNumber
22
- case vibesApiURL
23
- case vibesAppId
24
- case vibesAppEnv
25
- case logseneToken
26
-
27
- /// Actual string vakue for this enum as used in plist file
28
- ///
29
- /// - Returns: The string value
30
- func value() -> String {
31
- switch self {
32
- case .appBuildNumber:
33
- return "CFBundleShortVersionString"
34
- case .appVersionNumber:
35
- return "CFBundleVersion"
36
- case .vibesApiURL:
37
- return "VibesApiURL"
38
- case .vibesAppEnv:
39
- return "VibesAppEnv"
40
- case .vibesAppId:
41
- return "VibesAppId"
42
- case .logseneToken:
43
- return "LogseneToken"
44
- }
45
- }
46
- }
47
-
48
- /// This struct will load the plist file for current build
49
- public struct Configuration {
50
-
51
- fileprivate static var infoDict: [String: Any] {
52
- get {
53
- if let dict = Bundle.main.infoDictionary {
54
- return dict
55
- } else {
56
- fatalError("Plist file not found")
57
- }
58
- }
59
- }
60
-
61
- /// Get the config value of a certain config key from current configuration
62
- ///
63
- /// - Parameter key: The key to get value for
64
- /// - Returns: The value or nil if not found
65
- public static func configValue(_ key: ConfigKey) -> String? {
66
- return infoDict[key.value()] as? String
67
- }
68
- }
@@ -1,72 +0,0 @@
1
- //
2
- // Notifications.swift
3
- // Vibes
4
- //
5
- // Created by DHwty on 22/04/2022.
6
- // Copyright © 2022 Facebook. All rights reserved.
7
- //
8
-
9
- import Foundation
10
- import UserNotifications
11
-
12
- @objc(Notifications)
13
- @available(iOS 10.0, *)
14
- class Notifications: NSObject {
15
- let current = UNUserNotificationCenter.current()
16
-
17
- @objc
18
- static func requiresMainQueueSetup() -> Bool {
19
- return true
20
- }
21
-
22
- @objc(isPushEnabled:reject:)
23
- func isPushEnabled(resolve: @escaping RCTPromiseResolveBlock,
24
- rejecter reject: @escaping RCTPromiseRejectBlock) -> Void{
25
- current.getNotificationSettings { (settings) in
26
- if settings.authorizationStatus == .notDetermined {
27
- resolve("Notifications not determined")
28
- } else if settings.authorizationStatus == .denied {
29
- resolve("Notifications denied")
30
- } else if settings.authorizationStatus == .authorized {
31
- resolve(true)
32
- }
33
- }
34
- }
35
-
36
- @objc(getDeviceId:reject:)
37
- func getDeviceId(resolve: @escaping RCTPromiseResolveBlock,
38
- rejecter reject: @escaping RCTPromiseRejectBlock) -> Void{
39
- let deviceID = getDeviceId()
40
- resolve(deviceID)
41
- }
42
-
43
- private func getDeviceId (_ tries: Int = 0) -> String? {
44
- if let deviceID = UserDefaults.standard.vibesDeviceId {
45
- return deviceID
46
- } else {
47
- if tries == 5 {
48
- print("Error: Unable to get a string after 25secs delay")
49
- return nil
50
- }
51
- sleep(5)
52
- return getDeviceId(tries + 1)
53
- }
54
- }
55
-
56
- @objc(getEnvironment:reject:)
57
- func getEnvironment(resolve: @escaping RCTPromiseResolveBlock,
58
- rejecter reject: @escaping RCTPromiseRejectBlock) -> Void{
59
- let env = Configuration.configValue(.vibesAppEnv)
60
- resolve(env)
61
- }
62
- }
63
-
64
- // MARK: - UserDefaults helpers
65
- extension UserDefaults {
66
-
67
- /// The vibes device id, if stored in this UserDefaults, else nil
68
- public var vibesDeviceId: String? {
69
- return self.string(forKey: "vibesDeviceId")
70
- }
71
-
72
- }
@@ -1,2 +0,0 @@
1
- #import <React/RCTBridgeModule.h>
2
- #import <React/RCTViewManager.h>
package/ios/Vibes.m DELETED
@@ -1,56 +0,0 @@
1
- #import <React/RCTBridgeModule.h>
2
-
3
- @interface RCT_EXTERN_MODULE(Vibes, NSObject)
4
-
5
- RCT_EXTERN_METHOD(registerDevice: (RCTPromiseResolveBlock *)resolve
6
- rejecter:(RCTPromiseRejectBlock *)reject)
7
-
8
- RCT_EXTERN_METHOD(unregisterDevice: (RCTPromiseResolveBlock *)resolve
9
- rejecter:(RCTPromiseRejectBlock *)reject)
10
-
11
- RCT_EXTERN_METHOD(registerPush: (RCTPromiseResolveBlock *)resolve
12
- rejecter:(RCTPromiseRejectBlock *)reject)
13
-
14
- RCT_EXTERN_METHOD(unregisterPush: (RCTPromiseResolveBlock *)resolve
15
- rejecter:(RCTPromiseRejectBlock *)reject)
16
-
17
- RCT_EXTERN_METHOD(getVibesDeviceInfo: (RCTPromiseResolveBlock *)resolve
18
- rejecter:(RCTPromiseRejectBlock *)reject)
19
-
20
- RCT_EXTERN_METHOD(associatePerson: (NSString *) externalPersonId
21
- resolver:(RCTPromiseResolveBlock *)resolve
22
- rejecter:(RCTPromiseRejectBlock *)reject)
23
-
24
- RCT_EXTERN_METHOD(updateDevice: (BOOL ) updateCredentials
25
- lat:(nonnull NSNumber *)lat
26
- lon:(nonnull NSNumber *)lon
27
- resolver:(RCTPromiseResolveBlock *)resolve
28
- rejecter:(RCTPromiseRejectBlock *)reject)
29
-
30
- RCT_EXTERN_METHOD(getPerson: (RCTPromiseResolveBlock *)resolve
31
- rejecter:(RCTPromiseRejectBlock *)reject)
32
-
33
-
34
- RCT_EXTERN_METHOD(fetchInboxMessages: (RCTPromiseResolveBlock *)resolve
35
- rejecter:(RCTPromiseRejectBlock *)reject)
36
-
37
- RCT_EXTERN_METHOD(fetchInboxMessage: (NSString *) messageUID
38
- resolve:(RCTPromiseResolveBlock *)resolve
39
- reject:(RCTPromiseRejectBlock *)reject)
40
-
41
- RCT_EXTERN_METHOD(markInboxMessageAsRead: (NSString *) messageUID
42
- resolve:(RCTPromiseResolveBlock *)resolve
43
- reject:(RCTPromiseRejectBlock *)reject)
44
-
45
- RCT_EXTERN_METHOD(expireInboxMessage: (NSString *) messageUID
46
- resolve:(RCTPromiseResolveBlock *)resolve
47
- reject:(RCTPromiseRejectBlock *)reject)
48
-
49
- RCT_EXTERN_METHOD(onInboxMessageOpen: (NSDictionary *) message
50
- resolve:(RCTPromiseResolveBlock *)resolve
51
- reject:(RCTPromiseRejectBlock *)reject)
52
-
53
- RCT_EXTERN_METHOD(onInboxMessagesFetched: (RCTPromiseResolveBlock *)resolve
54
- reject:(RCTPromiseRejectBlock *)reject)
55
- @end
56
-
package/ios/Vibes.swift DELETED
@@ -1,378 +0,0 @@
1
- import Foundation
2
- import UserNotifications
3
- import VibesPush
4
-
5
- @objc(Vibes)
6
- class Vibes: NSObject, RCTBridgeModule, VibesPush.VibesAPIDelegate {
7
- static func moduleName() -> String! {
8
- return "Vibes"
9
- }
10
-
11
- public typealias JSONDictionary = [String: Any]
12
-
13
- let userDefaults = UserDefaults.standard
14
-
15
- var vibes: VibesPush.Vibes
16
- var registerDeviceResolver: RCTPromiseResolveBlock?
17
- var registerDeviceRejecter: RCTPromiseRejectBlock?
18
- var unregisterDeviceResolver: RCTPromiseResolveBlock?
19
- var unregisterDeviceRejecter: RCTPromiseRejectBlock?
20
-
21
- var registerPushResolver: RCTPromiseResolveBlock?
22
- var registerPushRejecter: RCTPromiseRejectBlock?
23
- var unregisterPushResolver: RCTPromiseResolveBlock?
24
- var unregisterPushRejecter: RCTPromiseRejectBlock?
25
- var associatePersonResolver: RCTPromiseResolveBlock?
26
- var associatePersonRejecter: RCTPromiseRejectBlock?
27
- var updateDeviceResolver: RCTPromiseResolveBlock?
28
- var updateDeviceRejecter: RCTPromiseRejectBlock?
29
-
30
- static func requiresMainQueueSetup() -> Bool {
31
- return true
32
- }
33
-
34
- override init() {
35
- vibes = VibesClient.standard.vibes
36
- super.init()
37
-
38
- vibes.delegate = self
39
- vibes.registerDevice()
40
- }
41
-
42
- // MARK: - Register device
43
-
44
- @objc
45
- /// Register Device
46
- /// - Parameters:
47
- /// - resolve: promise resolver
48
- /// - reject: promise rejecter
49
- func registerDevice(_ resolve: @escaping RCTPromiseResolveBlock,
50
- rejecter reject: @escaping RCTPromiseRejectBlock) {
51
- registerDeviceResolver = resolve
52
- registerDeviceRejecter = reject
53
- if vibes.isDeviceRegistered(),
54
- let registerDeviceResolver = registerDeviceResolver,
55
- let deviceId = userDefaults.object(forKey: "vibesDeviceId") {
56
- registerDeviceResolver(["device_id": deviceId])
57
- return
58
- }
59
- vibes.registerDevice()
60
- }
61
-
62
- @objc
63
- /// Un-register Device
64
- /// - Parameters:
65
- /// - resolve: promise resolver
66
- /// - reject: promise rejecter
67
- func unregisterDevice(_ resolve: @escaping RCTPromiseResolveBlock,
68
- rejecter reject: @escaping RCTPromiseRejectBlock) {
69
- unregisterDeviceResolver = resolve
70
- unregisterDeviceRejecter = reject
71
- vibes.unregisterDevice()
72
- }
73
-
74
- @objc
75
- /// Register Push
76
- /// - Parameters:
77
- /// - resolve: promise resolver
78
- /// - reject: promise rejecter
79
- func registerPush(_ resolve: @escaping RCTPromiseResolveBlock,
80
- rejecter reject: @escaping RCTPromiseRejectBlock) {
81
- registerPushResolver = resolve
82
- registerPushRejecter = reject
83
- if vibes.isDeviceRegistered() {
84
- vibes.registerPush()
85
- } else {
86
- if let registerPushRejecter = registerPushRejecter {
87
- registerPushRejecter("REGISTER_PUSH_ERROR", "Device Not Registered: \(VibesError.noCredentials)", VibesError.noCredentials)
88
- }
89
- }
90
- }
91
-
92
- @objc
93
- /// Un-register Push
94
- /// - Parameters:
95
- /// - resolve: promise resolver
96
- /// - reject: promise rejecter
97
- func unregisterPush(_ resolve: @escaping RCTPromiseResolveBlock,
98
- rejecter reject: @escaping RCTPromiseRejectBlock) {
99
- unregisterPushResolver = resolve
100
- unregisterPushRejecter = reject
101
- if vibes.isDevicePushRegistered() {
102
- vibes.unregisterPush()
103
- } else {
104
- if let unregisterPushRejecter = unregisterPushRejecter {
105
- unregisterPushRejecter("UNREGISTER_PUSH_ERROR", "Push Not Registered: \(VibesError.noPushToken)", VibesError.noPushToken)
106
- }
107
- }
108
- }
109
-
110
- @objc
111
- /// Associate device to person
112
- /// - Parameters:
113
- /// - externalPersonId: External person ID
114
- /// - resolve: promise resolver
115
- /// - reject: promise rejecter
116
- func associatePerson(_ externalPersonId: String, resolver resolve: @escaping RCTPromiseResolveBlock,
117
- rejecter reject: @escaping RCTPromiseRejectBlock) {
118
- associatePersonResolver = resolve
119
- associatePersonRejecter = reject
120
- vibes.associatePerson(externalPersonId: externalPersonId)
121
- }
122
-
123
- @objc
124
- /// Update device
125
- /// - Parameters:
126
- /// - updateCredentials: a boolean indicating if it's a token update or device info update. Specify false if not certain
127
- /// - lat: Latitude
128
- /// - lon: Longitude
129
- /// - resolve: promise resolver
130
- /// - reject: promise rejecter
131
- func updateDevice(_ updateCredentials: Bool, lat: NSNumber, lon: NSNumber, resolver resolve: @escaping RCTPromiseResolveBlock,
132
- rejecter reject: @escaping RCTPromiseRejectBlock) {
133
- updateDeviceResolver = resolve
134
- updateDeviceRejecter = reject
135
- vibes.updateDevice(lat: lat, long: lon, updateCredentials: updateCredentials)
136
- }
137
-
138
- @objc
139
- /// Get Vibes Device Info
140
- /// - Parameters:
141
- /// - resolve: promise resolver
142
- /// - reject: promise rejector
143
- func getVibesDeviceInfo(_ resolve: @escaping RCTPromiseResolveBlock,
144
- rejecter reject: @escaping RCTPromiseRejectBlock) {
145
- if let deviceId = userDefaults.object(forKey: "vibesDeviceId") {
146
- if let pushToken = vibes.pushToken {
147
- resolve(["device_id": deviceId, "push_token": pushToken])
148
- return
149
- }
150
- resolve(["device_id": deviceId])
151
- }
152
- }
153
-
154
- @objc
155
- /// Get Person Info
156
- /// - Parameters:
157
- /// - resolve: promise resolver
158
- /// - reject: promise rejector
159
- func getPerson(_ resolve: @escaping RCTPromiseResolveBlock,
160
- rejecter reject: @escaping RCTPromiseRejectBlock ) -> Void {
161
- vibes.getPerson { person, error in
162
- if let error = error {
163
- reject("GET_PERSON_ERROR", error.localizedDescription, error)
164
- } else {
165
- resolve(["external_person_id": person?.externalPersonId, "person_key": person?.personKey])
166
- }
167
- }
168
- }
169
-
170
- @objc
171
- /// Fetch Inbox Messages
172
- ///
173
- /// - Parameters:
174
- /// - resolve: promise resolver
175
- /// - reject: promise rejector
176
- func fetchInboxMessages(_ resolve: @escaping RCTPromiseResolveBlock,
177
- rejecter reject: @escaping RCTPromiseRejectBlock ) -> Void {
178
- vibes.fetchInboxMessages({ messages, error in
179
- if let error = error {
180
- reject("FETCH_INBOX_MESSAGES_ERROR", error.localizedDescription, error)
181
- } else {
182
- var msgs: [JSONDictionary] = []
183
- for msg in messages {
184
- msgs.append(msg.encodeJSON())
185
- }
186
- resolve(msgs)
187
- }
188
- })
189
- }
190
-
191
- @objc
192
- /// Fetch single Inbox Message
193
- ///
194
- /// - Parameters:
195
- /// - messageUid: The Message ID
196
- /// - resolve: promise resolver
197
- /// - reject: promise rejector
198
- func fetchInboxMessage(_ messageUid: String,
199
- resolve: @escaping RCTPromiseResolveBlock,
200
- reject: @escaping RCTPromiseRejectBlock ) -> Void {
201
- vibes.fetchInboxMessage(messageUID: messageUid) {message, error in
202
-
203
- if let error = error {
204
- reject("FETCH_INBOX_MESSAGE_ERROR", error.localizedDescription, error)
205
- } else {
206
- if let message = message {
207
- resolve(message.encodeJSON())
208
- } else {
209
- reject("FETCH_INBOX_MESSAGE_ERROR", "message encoding faild", "message encoding faild" as? Error)
210
- }
211
- }
212
- }
213
- }
214
-
215
- @objc
216
- /// Mark Inbox Message as Read
217
- ///
218
- /// - Parameters:
219
- /// - messageUid: The Message ID
220
- /// - resolve: promise resolver
221
- /// - reject: promise rejector
222
- func markInboxMessageAsRead(_ messageUid: String,
223
- resolve: @escaping RCTPromiseResolveBlock,
224
- reject: @escaping RCTPromiseRejectBlock ) -> Void {
225
- vibes.markInboxMessageAsRead(messageUID: messageUid) {message, error in
226
-
227
- if let error = error {
228
- reject("MARK_INBOX_MESSAGE_AS_READ_ERROR", error.localizedDescription, error)
229
- } else {
230
- if let message = message {
231
- resolve(message.encodeJSON())
232
- } else {
233
- reject("MARK_INBOX_MESSAGE_AS_READ_ERROR", "message encoding faild", "message encoding faild" as? Error)
234
- }
235
- }
236
- }
237
- }
238
-
239
- @objc
240
- /// Expire Inbox Message
241
- ///
242
- /// - Parameters:
243
- /// - messageUid: The Message ID
244
- /// - resolve: promise resolver
245
- /// - reject: promise rejector
246
- func expireInboxMessage(_ messageUid: String,
247
- resolve: @escaping RCTPromiseResolveBlock,
248
- reject: @escaping RCTPromiseRejectBlock ) -> Void {
249
- vibes.expireInboxMessage(messageUID: messageUid) {message, error in
250
-
251
- if let error = error {
252
- reject("EXPIRE_INBOX_MESSAGE_ERROR", error.localizedDescription, error)
253
- } else {
254
- if let message = message {
255
- resolve(message.encodeJSON())
256
- } else {
257
- reject("EXPIRE_INBOX_MESSAGE_ERROR", "message encoding faild", "message encoding faild" as? Error)
258
- }
259
- }
260
- }
261
- }
262
-
263
- @objc
264
- /// Inbox Message Opened
265
- ///
266
- /// - Parameters:
267
- /// - message: The Inbox Message
268
- /// - resolve: promise resolver
269
- /// - reject: promise rejector
270
- func onInboxMessageOpen(_ message: VibesJSONDictionary,
271
- resolve: @escaping RCTPromiseResolveBlock,
272
- reject: @escaping RCTPromiseRejectBlock ) -> Void {
273
- guard let inboxMessage = InboxMessage(attributes: message) else {
274
- reject("INBOX_MESSAGE_OPEN_ERROR", "Could not create Inbox Message from payload", nil)
275
- return
276
- }
277
- vibes.onInboxMessageOpen(inboxMessage: inboxMessage)
278
- resolve("success")
279
- }
280
-
281
- @objc
282
- /// Inbox Messages Fetched
283
- ///
284
- /// - Parameters:
285
- /// - resolve: promise resolver
286
- /// - reject: promise rejector
287
- func onInboxMessagesFetched(_ resolve: @escaping RCTPromiseResolveBlock,
288
- reject: @escaping RCTPromiseRejectBlock ) -> Void {
289
-
290
- vibes.onInboxMessagesFetched()
291
- resolve("Success recording an inbox_fetch event")
292
- }
293
-
294
- func didRegisterDevice(deviceId: String?, error: Error?) {
295
- if let error = error {
296
- if let registerDeviceRejecter = registerDeviceRejecter {
297
- registerDeviceRejecter("REGISTER_DEVICE_ERROR", error.localizedDescription, error)
298
- }
299
- } else {
300
- if let registerDeviceResolver = registerDeviceResolver {
301
- userDefaults.set(deviceId, forKey: "vibesDeviceId")
302
- registerDeviceResolver(["device_id": deviceId])
303
- }
304
- NotificationCenter.default.post(name: Notification.Name.vibesDeviceRegistered, object: deviceId)
305
- }
306
- registerDeviceRejecter = nil
307
- registerDeviceResolver = nil
308
- }
309
-
310
- func didUnregisterDevice(error: Error?) {
311
- if let error = error {
312
- if let unregisterDeviceRejecter = unregisterDeviceRejecter {
313
- unregisterDeviceRejecter("UNREGISTER_DEVICE_ERROR", error.localizedDescription, error)
314
- }
315
- } else {
316
- if let unregisterDeviceResolver = unregisterDeviceResolver {
317
- userDefaults.removeObject(forKey: "vibesDeviceId")
318
- unregisterDeviceResolver(["success"])
319
- }
320
- NotificationCenter.default.post(name: Notification.Name.vibesDeviceUnregistered, object: nil)
321
- }
322
- unregisterDeviceRejecter = nil
323
- unregisterDeviceResolver = nil
324
- }
325
-
326
- func didRegisterPush(error: Error?) {
327
- if let error = error {
328
- if let registerPushRejecter = registerPushRejecter {
329
- registerPushRejecter("REGISTER_PUSH_ERROR", error.localizedDescription, error)
330
- }
331
- } else {
332
- if let registerPushResolver = registerPushResolver {
333
- registerPushResolver("Successs")
334
- }
335
- NotificationCenter.default.post(name: Notification.Name.vibesPushRegistered, object: vibes.pushToken)
336
- }
337
- registerPushRejecter = nil
338
- registerPushResolver = nil
339
- }
340
-
341
- func didUnregisterPush(error: Error?) {
342
- if let error = error {
343
- if let unregisterPushRejecter = unregisterPushRejecter {
344
- unregisterPushRejecter("UNREGISTER_PUSH_ERROR", error.localizedDescription, error)
345
- }
346
- } else {
347
- if let unregisterPushResolver = unregisterPushResolver {
348
- unregisterPushResolver("Successs")
349
- }
350
- NotificationCenter.default.post(name: Notification.Name.vibesPushUnregistered, object: nil)
351
- }
352
- unregisterPushRejecter = nil
353
- unregisterPushResolver = nil
354
- }
355
-
356
- func didAssociatePerson(error: Error?) {
357
- if let error = error {
358
- if let associatePersonRejecter = associatePersonRejecter {
359
- associatePersonRejecter("ASSOCIATE_PERSON_ERROR", error.localizedDescription, error)
360
- }
361
- } else {
362
- if let associatePersonResolver = associatePersonResolver {
363
- associatePersonResolver("Successs")
364
- }
365
- NotificationCenter.default.post(name: Notification.Name.vibesPushDidAssociatePerson, object: nil)
366
- }
367
- associatePersonRejecter = nil
368
- associatePersonResolver = nil
369
- }
370
- }
371
-
372
- extension Notification.Name {
373
- static let vibesDeviceRegistered = Notification.Name("vibesDeviceRegistered")
374
- static let vibesDeviceUnregistered = Notification.Name("vibesDeviceUnregistered")
375
- static let vibesPushRegistered = Notification.Name("vibesPushRegistered")
376
- static let vibesPushUnregistered = Notification.Name("vibesPushUnregistered")
377
- static let vibesPushDidAssociatePerson = Notification.Name("vibesPushDidAssociatePerson")
378
- }