@clix-so/react-native-sdk 0.0.1 → 0.0.2-beta.1
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.
- package/README.md +51 -5
- package/lib/module/core/Clix.js +9 -7
- package/lib/module/core/Clix.js.map +1 -1
- package/lib/module/core/ClixNotification.js +122 -0
- package/lib/module/core/ClixNotification.js.map +1 -0
- package/lib/module/services/DeviceService.js +27 -19
- package/lib/module/services/DeviceService.js.map +1 -1
- package/lib/module/services/EventAPIService.js +7 -1
- package/lib/module/services/EventAPIService.js.map +1 -1
- package/lib/module/services/EventService.js +8 -5
- package/lib/module/services/EventService.js.map +1 -1
- package/lib/module/services/NotificationService.js +91 -49
- package/lib/module/services/NotificationService.js.map +1 -1
- package/lib/module/services/StorageService.js +52 -15
- package/lib/module/services/StorageService.js.map +1 -1
- package/lib/module/services/TokenService.js +13 -13
- package/lib/module/services/TokenService.js.map +1 -1
- package/lib/module/utils/ClixDateFormatter.js +19 -0
- package/lib/module/utils/ClixDateFormatter.js.map +1 -0
- package/lib/typescript/src/core/Clix.d.ts +11 -11
- package/lib/typescript/src/core/Clix.d.ts.map +1 -1
- package/lib/typescript/src/core/ClixNotification.d.ts +25 -0
- package/lib/typescript/src/core/ClixNotification.d.ts.map +1 -0
- package/lib/typescript/src/services/DeviceService.d.ts +3 -2
- package/lib/typescript/src/services/DeviceService.d.ts.map +1 -1
- package/lib/typescript/src/services/EventAPIService.d.ts +1 -1
- package/lib/typescript/src/services/EventAPIService.d.ts.map +1 -1
- package/lib/typescript/src/services/EventService.d.ts +1 -1
- package/lib/typescript/src/services/EventService.d.ts.map +1 -1
- package/lib/typescript/src/services/NotificationService.d.ts +21 -1
- package/lib/typescript/src/services/NotificationService.d.ts.map +1 -1
- package/lib/typescript/src/services/StorageService.d.ts +11 -6
- package/lib/typescript/src/services/StorageService.d.ts.map +1 -1
- package/lib/typescript/src/services/TokenService.d.ts +5 -5
- package/lib/typescript/src/services/TokenService.d.ts.map +1 -1
- package/lib/typescript/src/utils/ClixDateFormatter.d.ts +4 -0
- package/lib/typescript/src/utils/ClixDateFormatter.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/core/Clix.ts +17 -21
- package/src/core/ClixNotification.ts +157 -0
- package/src/services/DeviceService.ts +35 -20
- package/src/services/EventAPIService.ts +5 -1
- package/src/services/EventService.ts +13 -5
- package/src/services/NotificationService.ts +145 -54
- package/src/services/StorageService.ts +60 -16
- package/src/services/TokenService.ts +13 -15
- package/src/utils/ClixDateFormatter.ts +19 -0
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import notifee, { AndroidImportance, AndroidStyle, EventType } from '@notifee/react-native';
|
|
3
|
+
import notifee, { AndroidImportance, AndroidStyle, AuthorizationStatus, EventType } from '@notifee/react-native';
|
|
4
4
|
import messaging from '@react-native-firebase/messaging';
|
|
5
5
|
import { Linking, Platform } from 'react-native';
|
|
6
6
|
import { ClixPushNotificationPayload } from "../models/ClixPushNotificationPayload.js";
|
|
7
7
|
import { ClixLogger } from "../utils/logging/ClixLogger.js";
|
|
8
8
|
import { UUID } from "../utils/UUID.js";
|
|
9
|
-
import { ClixAPIClient } from "./ClixAPIClient.js";
|
|
10
|
-
import { DeviceAPIService } from "./DeviceAPIService.js";
|
|
11
|
-
import { DeviceService } from "./DeviceService.js";
|
|
12
|
-
import { EventAPIService } from "./EventAPIService.js";
|
|
13
|
-
import { EventService } from "./EventService.js";
|
|
14
|
-
import { StorageService } from "./StorageService.js";
|
|
15
|
-
import { TokenService } from "./TokenService.js";
|
|
16
9
|
export class NotificationService {
|
|
17
10
|
static instance = null;
|
|
18
11
|
static DEFAULT_CHANNEL = {
|
|
@@ -28,6 +21,7 @@ export class NotificationService {
|
|
|
28
21
|
isInitialized = false;
|
|
29
22
|
currentPushToken = null;
|
|
30
23
|
processedMessageIds = new Set();
|
|
24
|
+
autoHandleLandingUrl = true;
|
|
31
25
|
constructor() {}
|
|
32
26
|
static getInstance() {
|
|
33
27
|
if (!NotificationService.instance) {
|
|
@@ -68,6 +62,7 @@ export class NotificationService {
|
|
|
68
62
|
return this.currentPushToken;
|
|
69
63
|
} catch (error) {
|
|
70
64
|
ClixLogger.error('Failed to get push token', error);
|
|
65
|
+
await this.handleFcmTokenError(error);
|
|
71
66
|
return null;
|
|
72
67
|
}
|
|
73
68
|
}
|
|
@@ -80,16 +75,22 @@ export class NotificationService {
|
|
|
80
75
|
this.processedMessageIds.clear();
|
|
81
76
|
ClixLogger.debug('Notification service cleaned up');
|
|
82
77
|
}
|
|
78
|
+
setMessageHandler(handler) {
|
|
79
|
+
this.messageHandler = handler;
|
|
80
|
+
}
|
|
81
|
+
setBackgroundMessageHandler(handler) {
|
|
82
|
+
this.backgroundMessageHandler = handler;
|
|
83
|
+
}
|
|
84
|
+
setNotificationOpenedHandler(handler) {
|
|
85
|
+
this.openedHandler = handler;
|
|
86
|
+
}
|
|
87
|
+
setFcmTokenErrorHandler(handler) {
|
|
88
|
+
this.fcmTokenErrorHandler = handler;
|
|
89
|
+
}
|
|
90
|
+
setAutoHandleLandingUrl(enable) {
|
|
91
|
+
this.autoHandleLandingUrl = enable;
|
|
92
|
+
}
|
|
83
93
|
async initializeNotificationDisplayService() {
|
|
84
|
-
await notifee.requestPermission({
|
|
85
|
-
alert: true,
|
|
86
|
-
badge: true,
|
|
87
|
-
sound: true,
|
|
88
|
-
criticalAlert: false,
|
|
89
|
-
announcement: false,
|
|
90
|
-
carPlay: false,
|
|
91
|
-
provisional: false
|
|
92
|
-
});
|
|
93
94
|
if (Platform.OS === 'android') {
|
|
94
95
|
await this.createNotificationChannels();
|
|
95
96
|
}
|
|
@@ -139,13 +140,8 @@ export class NotificationService {
|
|
|
139
140
|
}
|
|
140
141
|
async initializeMessageService() {
|
|
141
142
|
this.setupMessageHandlers();
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
await this.getAndUpdateToken();
|
|
145
|
-
this.setupTokenRefreshListener();
|
|
146
|
-
} else {
|
|
147
|
-
ClixLogger.warn('Push notification permission denied');
|
|
148
|
-
}
|
|
143
|
+
await this.getAndUpdateToken();
|
|
144
|
+
this.setupTokenRefreshListener();
|
|
149
145
|
}
|
|
150
146
|
setupMessageHandlers() {
|
|
151
147
|
this.messagingService.setBackgroundMessageHandler(async remoteMessage => {
|
|
@@ -160,15 +156,22 @@ export class NotificationService {
|
|
|
160
156
|
this.checkInitialNotification();
|
|
161
157
|
}
|
|
162
158
|
async handleBackgroundMessage(remoteMessage) {
|
|
159
|
+
ClixLogger.debug('Handling background message:', remoteMessage.messageId);
|
|
160
|
+
const data = remoteMessage.data ?? {};
|
|
161
|
+
try {
|
|
162
|
+
await this.backgroundMessageHandler?.(data);
|
|
163
|
+
} catch (error) {
|
|
164
|
+
ClixLogger.warn('Background message handler failed', error);
|
|
165
|
+
}
|
|
163
166
|
try {
|
|
164
|
-
const clixPayload = this.parseClixPayload(
|
|
167
|
+
const clixPayload = this.parseClixPayload(data);
|
|
165
168
|
if (!clixPayload) {
|
|
166
169
|
ClixLogger.warn('No Clix payload found in background message');
|
|
167
170
|
return;
|
|
168
171
|
}
|
|
169
|
-
|
|
172
|
+
this.storageService.set('last_background_notification', {
|
|
170
173
|
messageId: remoteMessage.messageId,
|
|
171
|
-
data:
|
|
174
|
+
data: data,
|
|
172
175
|
timestamp: Date.now(),
|
|
173
176
|
clixMessageId: clixPayload.messageId,
|
|
174
177
|
campaignId: clixPayload.campaignId,
|
|
@@ -183,6 +186,7 @@ export class NotificationService {
|
|
|
183
186
|
}
|
|
184
187
|
}
|
|
185
188
|
async handleForegroundMessage(remoteMessage) {
|
|
189
|
+
ClixLogger.debug('Handling foreground message:', remoteMessage.messageId);
|
|
186
190
|
try {
|
|
187
191
|
const messageId = remoteMessage.messageId;
|
|
188
192
|
if (!messageId) {
|
|
@@ -193,12 +197,20 @@ export class NotificationService {
|
|
|
193
197
|
ClixLogger.debug('Message already processed, skipping duplicate:', messageId);
|
|
194
198
|
return;
|
|
195
199
|
}
|
|
196
|
-
const
|
|
200
|
+
const data = remoteMessage.data ?? {};
|
|
201
|
+
const clixPayload = this.parseClixPayload(data);
|
|
197
202
|
if (clixPayload) {
|
|
198
203
|
ClixLogger.debug('Parsed Clix payload:', clixPayload);
|
|
199
204
|
this.processedMessageIds.add(messageId);
|
|
200
|
-
|
|
201
|
-
|
|
205
|
+
if (Platform.OS === 'android') {
|
|
206
|
+
// NOTE(nyanxyz): on iOS, Received event is tracked in NSE
|
|
207
|
+
await this.handlePushReceived(data);
|
|
208
|
+
}
|
|
209
|
+
if (await this.shouldDisplayForegroundNotification(data)) {
|
|
210
|
+
await this.displayNotification(remoteMessage, clixPayload);
|
|
211
|
+
} else {
|
|
212
|
+
ClixLogger.debug('Foreground message suppressed by user handler:', messageId);
|
|
213
|
+
}
|
|
202
214
|
} else {
|
|
203
215
|
ClixLogger.warn('No Clix payload found in foreground message');
|
|
204
216
|
}
|
|
@@ -206,8 +218,8 @@ export class NotificationService {
|
|
|
206
218
|
ClixLogger.error('Failed to handle foreground message', error);
|
|
207
219
|
}
|
|
208
220
|
}
|
|
209
|
-
async
|
|
210
|
-
const settings = await
|
|
221
|
+
async requestPermission() {
|
|
222
|
+
const settings = await notifee.requestPermission({
|
|
211
223
|
alert: true,
|
|
212
224
|
badge: true,
|
|
213
225
|
sound: true,
|
|
@@ -217,9 +229,22 @@ export class NotificationService {
|
|
|
217
229
|
criticalAlert: false
|
|
218
230
|
});
|
|
219
231
|
ClixLogger.debug('Push notification permission status:', settings);
|
|
220
|
-
|
|
232
|
+
const isGranted = settings.authorizationStatus === AuthorizationStatus.AUTHORIZED || settings.authorizationStatus === AuthorizationStatus.PROVISIONAL;
|
|
233
|
+
await this.setPermissionGranted(isGranted);
|
|
221
234
|
return settings;
|
|
222
235
|
}
|
|
236
|
+
async setPermissionGranted(isGranted) {
|
|
237
|
+
if (!this.deviceService) {
|
|
238
|
+
ClixLogger.debug('Device service is not initialized, skipping push permission upsert');
|
|
239
|
+
return;
|
|
240
|
+
}
|
|
241
|
+
try {
|
|
242
|
+
await this.deviceService.upsertIsPushPermissionGranted(isGranted);
|
|
243
|
+
ClixLogger.debug(`Push permission status reported to server: ${isGranted ? 'granted' : 'denied'}`);
|
|
244
|
+
} catch (error) {
|
|
245
|
+
ClixLogger.warn('Failed to upsert push permission status', error);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
223
248
|
setupTokenRefreshListener() {
|
|
224
249
|
this.unsubscribeTokenRefresh = this.messagingService.onTokenRefresh(async token => {
|
|
225
250
|
try {
|
|
@@ -228,6 +253,7 @@ export class NotificationService {
|
|
|
228
253
|
await this.saveAndRegisterToken(token);
|
|
229
254
|
} catch (error) {
|
|
230
255
|
ClixLogger.error('Failed to handle token refresh', error);
|
|
256
|
+
await this.handleFcmTokenError(error);
|
|
231
257
|
}
|
|
232
258
|
});
|
|
233
259
|
}
|
|
@@ -254,19 +280,19 @@ export class NotificationService {
|
|
|
254
280
|
}
|
|
255
281
|
async getOrFetchToken() {
|
|
256
282
|
if (this.tokenService) {
|
|
257
|
-
const savedToken =
|
|
283
|
+
const savedToken = this.tokenService.getCurrentToken();
|
|
258
284
|
if (savedToken) return savedToken;
|
|
259
285
|
}
|
|
260
286
|
const token = await this.messagingService.getToken();
|
|
261
287
|
if (token) {
|
|
262
288
|
ClixLogger.debug('Got push token:', token.substring(0, 20) + '...');
|
|
263
|
-
|
|
289
|
+
this.tokenService?.saveToken(token);
|
|
264
290
|
}
|
|
265
291
|
return token;
|
|
266
292
|
}
|
|
267
293
|
async saveAndRegisterToken(token) {
|
|
268
294
|
if (this.tokenService) {
|
|
269
|
-
|
|
295
|
+
this.tokenService.saveToken(token);
|
|
270
296
|
ClixLogger.debug('New push token saved via TokenService');
|
|
271
297
|
}
|
|
272
298
|
await this.registerTokenWithServer(token);
|
|
@@ -424,13 +450,20 @@ export class NotificationService {
|
|
|
424
450
|
if (clixPayload) {
|
|
425
451
|
await this.trackPushEvent('PUSH_NOTIFICATION_TAPPED', clixPayload);
|
|
426
452
|
}
|
|
427
|
-
|
|
453
|
+
if (this.autoHandleLandingUrl) {
|
|
454
|
+
await this.handleUrlNavigation(data);
|
|
455
|
+
}
|
|
428
456
|
ClixLogger.debug('Push notification tapped and processed');
|
|
429
457
|
} catch (error) {
|
|
430
458
|
ClixLogger.error('Failed to handle push tapped', error);
|
|
431
459
|
}
|
|
432
460
|
}
|
|
433
461
|
async handleNotificationTap(data) {
|
|
462
|
+
try {
|
|
463
|
+
await this.openedHandler?.(data);
|
|
464
|
+
} catch (error) {
|
|
465
|
+
ClixLogger.error('Failed to handle notification tap', error);
|
|
466
|
+
}
|
|
434
467
|
try {
|
|
435
468
|
await this.handlePushTapped(data);
|
|
436
469
|
} catch (error) {
|
|
@@ -519,31 +552,40 @@ export class NotificationService {
|
|
|
519
552
|
return;
|
|
520
553
|
}
|
|
521
554
|
try {
|
|
522
|
-
const
|
|
523
|
-
const configData = await storageService.get('clix_config');
|
|
555
|
+
const configData = this.storageService.get('clix_config');
|
|
524
556
|
if (!configData) {
|
|
525
557
|
ClixLogger.error('No Clix config found in storage');
|
|
526
558
|
return;
|
|
527
559
|
}
|
|
528
|
-
let deviceId =
|
|
560
|
+
let deviceId = this.storageService.get('clix_device_id');
|
|
529
561
|
if (!deviceId) {
|
|
530
562
|
ClixLogger.warn('No device ID found in storage, generating new device ID');
|
|
531
563
|
deviceId = UUID.generate();
|
|
532
|
-
|
|
564
|
+
this.storageService.set('clix_device_id', deviceId);
|
|
533
565
|
}
|
|
534
|
-
const config = configData;
|
|
535
|
-
const apiClient = new ClixAPIClient(config);
|
|
536
|
-
const deviceAPIService = new DeviceAPIService(apiClient);
|
|
537
|
-
const eventAPIService = new EventAPIService(apiClient);
|
|
538
|
-
const tokenService = new TokenService(storageService);
|
|
539
|
-
const deviceService = new DeviceService(storageService, tokenService, deviceAPIService);
|
|
540
|
-
const eventService = new EventService(eventAPIService, deviceService);
|
|
541
566
|
const properties = this.extractTrackingProperties(clixPayload);
|
|
542
|
-
await eventService.trackEvent('PUSH_NOTIFICATION_RECEIVED', properties, messageId);
|
|
567
|
+
await this.eventService.trackEvent('PUSH_NOTIFICATION_RECEIVED', properties, messageId);
|
|
543
568
|
ClixLogger.debug('PUSH_NOTIFICATION_RECEIVED event tracked in background');
|
|
544
569
|
} catch (error) {
|
|
545
570
|
ClixLogger.error('Error tracking event in background', error);
|
|
546
571
|
}
|
|
547
572
|
}
|
|
573
|
+
async shouldDisplayForegroundNotification(data) {
|
|
574
|
+
try {
|
|
575
|
+
const result = await this.messageHandler?.(data);
|
|
576
|
+
return result !== false;
|
|
577
|
+
} catch (error) {
|
|
578
|
+
ClixLogger.warn('Foreground message handler failed, displaying notification by default', error);
|
|
579
|
+
return true;
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
async handleFcmTokenError(error) {
|
|
583
|
+
try {
|
|
584
|
+
const errorInstance = error instanceof Error ? error : new Error(String(error));
|
|
585
|
+
await this.fcmTokenErrorHandler?.(errorInstance);
|
|
586
|
+
} catch (handlerError) {
|
|
587
|
+
ClixLogger.warn('FCM token error handler failed', handlerError);
|
|
588
|
+
}
|
|
589
|
+
}
|
|
548
590
|
}
|
|
549
591
|
//# sourceMappingURL=NotificationService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["notifee","AndroidImportance","AndroidStyle","EventType","messaging","Linking","Platform","ClixPushNotificationPayload","ClixLogger","UUID","ClixAPIClient","DeviceAPIService","DeviceService","EventAPIService","EventService","StorageService","TokenService","NotificationService","instance","DEFAULT_CHANNEL","id","name","description","importance","HIGH","sound","vibration","lights","messagingService","isInitialized","currentPushToken","processedMessageIds","Set","constructor","getInstance","resetInstance","cleanup","initialize","eventService","storageService","deviceService","tokenService","debug","initializeNotificationDisplayService","initializeMessageService","error","getCurrentToken","getOrFetchToken","unsubscribeForegroundMessage","unsubscribeNotificationOpened","unsubscribeTokenRefresh","unsubscribeNotificationEvents","clear","requestPermission","alert","badge","criticalAlert","announcement","carPlay","provisional","OS","createNotificationChannels","setupNotificationEventListeners","createChannel","onForegroundEvent","event","handleNotificationEvent","type","detail","PRESS","notification","data","handleNotificationTap","ACTION_PRESS","pressAction","handleActionPress","DISMISSED","actionId","setupMessageHandlers","settings","requestMessagePermission","AuthorizationStatus","DENIED","getAndUpdateToken","setupTokenRefreshListener","warn","setBackgroundMessageHandler","remoteMessage","handleBackgroundMessage","onMessage","handleForegroundMessage","onNotificationOpenedApp","checkInitialNotification","clixPayload","parseClixPayload","set","messageId","timestamp","Date","now","clixMessageId","campaignId","trackingId","trackEventInBackground","displayNotification","has","add","handlePushReceived","toString","onTokenRefresh","token","saveAndRegisterToken","initialNotification","getInitialNotification","registerTokenWithServer","savedToken","getToken","substring","saveToken","upsertToken","notificationContent","extractNotificationContent","title","body","hasImage","imageUrl","notificationConfig","createNotificationConfig","Error","message","stack","channelId","config","android","actions","createNotificationActions","ios","foregroundPresentationOptions","banner","list","isValidImageUrl","attachments","url","style","BIGPICTURE","picture","push","customProperties","customActions","Array","isArray","forEach","action","trim","startsWith","fcmNotification","fcmTitle","fcmBody","trackPushEvent","handlePushTapped","handleUrlNavigation","landingUrl","landing_url","link","click_action","supported","canOpenURL","openURL","userInfo","payload","clix","JSON","parse","toCamel","s","replace","g","toUpperCase","result","key","finalResult","Object","keys","length","undefined","eventType","properties","extractTrackingProperties","trackEvent","configData","get","deviceId","generate","apiClient","deviceAPIService","eventAPIService"],"sourceRoot":"../../../src","sources":["services/NotificationService.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["notifee","AndroidImportance","AndroidStyle","AuthorizationStatus","EventType","messaging","Linking","Platform","ClixPushNotificationPayload","ClixLogger","UUID","NotificationService","instance","DEFAULT_CHANNEL","id","name","description","importance","HIGH","sound","vibration","lights","messagingService","isInitialized","currentPushToken","processedMessageIds","Set","autoHandleLandingUrl","constructor","getInstance","resetInstance","cleanup","initialize","eventService","storageService","deviceService","tokenService","debug","initializeNotificationDisplayService","initializeMessageService","error","getCurrentToken","getOrFetchToken","handleFcmTokenError","unsubscribeForegroundMessage","unsubscribeNotificationOpened","unsubscribeTokenRefresh","unsubscribeNotificationEvents","clear","setMessageHandler","handler","messageHandler","setBackgroundMessageHandler","backgroundMessageHandler","setNotificationOpenedHandler","openedHandler","setFcmTokenErrorHandler","fcmTokenErrorHandler","setAutoHandleLandingUrl","enable","OS","createNotificationChannels","setupNotificationEventListeners","createChannel","onForegroundEvent","event","handleNotificationEvent","type","detail","PRESS","notification","data","handleNotificationTap","ACTION_PRESS","pressAction","handleActionPress","DISMISSED","actionId","setupMessageHandlers","getAndUpdateToken","setupTokenRefreshListener","remoteMessage","handleBackgroundMessage","onMessage","handleForegroundMessage","onNotificationOpenedApp","checkInitialNotification","messageId","warn","clixPayload","parseClixPayload","set","timestamp","Date","now","clixMessageId","campaignId","trackingId","trackEventInBackground","displayNotification","has","add","handlePushReceived","shouldDisplayForegroundNotification","requestPermission","settings","alert","badge","provisional","announcement","carPlay","criticalAlert","isGranted","authorizationStatus","AUTHORIZED","PROVISIONAL","setPermissionGranted","upsertIsPushPermissionGranted","onTokenRefresh","token","saveAndRegisterToken","initialNotification","getInitialNotification","registerTokenWithServer","savedToken","getToken","substring","saveToken","upsertToken","notificationContent","extractNotificationContent","title","body","hasImage","imageUrl","notificationConfig","createNotificationConfig","Error","message","stack","channelId","config","toString","android","actions","createNotificationActions","ios","foregroundPresentationOptions","banner","list","isValidImageUrl","attachments","url","style","BIGPICTURE","picture","push","customProperties","customActions","Array","isArray","forEach","action","trim","startsWith","fcmNotification","fcmTitle","fcmBody","trackPushEvent","handlePushTapped","handleUrlNavigation","landingUrl","landing_url","link","click_action","supported","canOpenURL","openURL","userInfo","payload","clix","JSON","parse","toCamel","s","replace","g","toUpperCase","result","key","finalResult","Object","keys","length","undefined","eventType","properties","extractTrackingProperties","trackEvent","configData","get","deviceId","generate","errorInstance","String","handlerError"],"sourceRoot":"../../../src","sources":["services/NotificationService.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,18 +1,55 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import * as MMKVModule from 'react-native-mmkv';
|
|
4
4
|
import { ClixLogger } from "../utils/logging/ClixLogger.js";
|
|
5
|
+
|
|
6
|
+
// Support both v2/v3 (MMKV class) and v4 (createMMKV function)
|
|
7
|
+
|
|
5
8
|
export class StorageService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.storage =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
9
|
+
constructor(projectId) {
|
|
10
|
+
this.storage = this.initializeCompat(projectId);
|
|
11
|
+
}
|
|
12
|
+
initializeCompat(projectId) {
|
|
13
|
+
const storageId = `clix.${projectId}`;
|
|
14
|
+
|
|
15
|
+
// v4 API (createMMKV function)
|
|
16
|
+
if (typeof MMKVModule.createMMKV === 'function') {
|
|
17
|
+
return MMKVModule.createMMKV({
|
|
18
|
+
id: storageId,
|
|
19
|
+
encryptionKey: undefined // Add encryption if needed
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
// v2/v3 API (MMKV class)
|
|
23
|
+
else if (typeof MMKVModule.MMKV === 'function') {
|
|
24
|
+
const {
|
|
25
|
+
MMKV
|
|
26
|
+
} = MMKVModule;
|
|
27
|
+
return new MMKV({
|
|
28
|
+
id: storageId,
|
|
29
|
+
encryptionKey: undefined // Add encryption if needed
|
|
30
|
+
});
|
|
31
|
+
} else {
|
|
32
|
+
throw new Error('No compatible MMKV storage API found');
|
|
33
|
+
}
|
|
11
34
|
}
|
|
12
|
-
|
|
13
|
-
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Delete a key from storage (works with both v2/v3 and v4 APIs)
|
|
38
|
+
*/
|
|
39
|
+
removeCompat(key) {
|
|
40
|
+
// v4 uses remove(), v2/v3 uses delete()
|
|
41
|
+
if (typeof this.storage.remove === 'function') {
|
|
42
|
+
this.storage.remove(key);
|
|
43
|
+
} else if (typeof this.storage.delete === 'function') {
|
|
44
|
+
this.storage.delete(key);
|
|
45
|
+
} else {
|
|
46
|
+
throw new Error('No compatible delete method found on storage instance');
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
set(key, value) {
|
|
50
|
+
if (value === undefined || value === null) {
|
|
14
51
|
try {
|
|
15
|
-
this.
|
|
52
|
+
this.removeCompat(key);
|
|
16
53
|
} catch (error) {
|
|
17
54
|
ClixLogger.error(`Failed to remove value for key: ${key}`, error);
|
|
18
55
|
}
|
|
@@ -27,7 +64,7 @@ export class StorageService {
|
|
|
27
64
|
return;
|
|
28
65
|
}
|
|
29
66
|
}
|
|
30
|
-
|
|
67
|
+
get(key) {
|
|
31
68
|
try {
|
|
32
69
|
const data = this.storage.getString(key);
|
|
33
70
|
if (data === null || data === undefined) return undefined;
|
|
@@ -37,7 +74,7 @@ export class StorageService {
|
|
|
37
74
|
} catch (jsonError) {
|
|
38
75
|
// Handle legacy string values
|
|
39
76
|
ClixLogger.debug(`Found legacy string value for key: ${key}, migrating to JSON format`);
|
|
40
|
-
|
|
77
|
+
this.set(key, data);
|
|
41
78
|
return data;
|
|
42
79
|
}
|
|
43
80
|
} catch (error) {
|
|
@@ -46,16 +83,16 @@ export class StorageService {
|
|
|
46
83
|
return undefined;
|
|
47
84
|
}
|
|
48
85
|
}
|
|
49
|
-
|
|
86
|
+
remove(key) {
|
|
50
87
|
try {
|
|
51
|
-
this.
|
|
88
|
+
this.removeCompat(key);
|
|
52
89
|
} catch (error) {
|
|
53
90
|
ClixLogger.error(`Failed to remove key: ${key}`, error);
|
|
54
91
|
// Don't throw to prevent initialization failure
|
|
55
92
|
return;
|
|
56
93
|
}
|
|
57
94
|
}
|
|
58
|
-
|
|
95
|
+
clear() {
|
|
59
96
|
try {
|
|
60
97
|
this.storage.clearAll();
|
|
61
98
|
} catch (error) {
|
|
@@ -63,7 +100,7 @@ export class StorageService {
|
|
|
63
100
|
throw error;
|
|
64
101
|
}
|
|
65
102
|
}
|
|
66
|
-
|
|
103
|
+
getAllKeys() {
|
|
67
104
|
try {
|
|
68
105
|
const keys = this.storage.getAllKeys();
|
|
69
106
|
return Array.from(keys);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["MMKVModule","ClixLogger","StorageService","constructor","projectId","storage","initializeCompat","storageId","createMMKV","id","encryptionKey","undefined","MMKV","Error","removeCompat","key","remove","delete","set","value","error","encoded","JSON","stringify","get","data","getString","decoded","parse","jsonError","debug","clear","clearAll","getAllKeys","keys","Array","from"],"sourceRoot":"../../../src","sources":["services/StorageService.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,17 +8,17 @@ export class TokenService {
|
|
|
8
8
|
constructor(storageService) {
|
|
9
9
|
this.storageService = storageService;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
getCurrentToken() {
|
|
12
12
|
try {
|
|
13
|
-
return
|
|
13
|
+
return this.storageService.get(TokenService.CURRENT_TOKEN_KEY);
|
|
14
14
|
} catch (error) {
|
|
15
15
|
ClixLogger.error('Failed to get current token', error);
|
|
16
16
|
return undefined;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
getPreviousTokens() {
|
|
20
20
|
try {
|
|
21
|
-
const result =
|
|
21
|
+
const result = this.storageService.get(TokenService.PREVIOUS_TOKENS_KEY);
|
|
22
22
|
if (result === undefined) return [];
|
|
23
23
|
return Array.isArray(result) ? result : [];
|
|
24
24
|
} catch (error) {
|
|
@@ -26,10 +26,10 @@ export class TokenService {
|
|
|
26
26
|
return [];
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
|
|
29
|
+
saveToken(token) {
|
|
30
30
|
try {
|
|
31
|
-
|
|
32
|
-
let tokens =
|
|
31
|
+
this.storageService.set(TokenService.CURRENT_TOKEN_KEY, token);
|
|
32
|
+
let tokens = this.getPreviousTokens();
|
|
33
33
|
|
|
34
34
|
// Remove existing token if present
|
|
35
35
|
const currentIndex = tokens.indexOf(token);
|
|
@@ -44,17 +44,17 @@ export class TokenService {
|
|
|
44
44
|
if (tokens.length > TokenService.MAX_TOKENS) {
|
|
45
45
|
tokens = tokens.slice(-TokenService.MAX_TOKENS);
|
|
46
46
|
}
|
|
47
|
-
|
|
47
|
+
this.storageService.set(TokenService.PREVIOUS_TOKENS_KEY, tokens);
|
|
48
48
|
ClixLogger.debug('Token saved successfully');
|
|
49
49
|
} catch (error) {
|
|
50
50
|
ClixLogger.error('Failed to save token', error);
|
|
51
51
|
throw error;
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
|
|
54
|
+
clearTokens() {
|
|
55
55
|
try {
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
this.storageService.remove(TokenService.PREVIOUS_TOKENS_KEY);
|
|
57
|
+
this.storageService.remove(TokenService.CURRENT_TOKEN_KEY);
|
|
58
58
|
ClixLogger.debug('All tokens cleared');
|
|
59
59
|
} catch (error) {
|
|
60
60
|
ClixLogger.error('Failed to clear tokens', error);
|
|
@@ -64,8 +64,8 @@ export class TokenService {
|
|
|
64
64
|
convertTokenToString(deviceToken) {
|
|
65
65
|
return deviceToken.map(data => data.toString(16).padStart(2, '0')).join('');
|
|
66
66
|
}
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
reset() {
|
|
68
|
+
this.clearTokens();
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
//# sourceMappingURL=TokenService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ClixLogger","TokenService","CURRENT_TOKEN_KEY","PREVIOUS_TOKENS_KEY","MAX_TOKENS","constructor","storageService","getCurrentToken","get","error","undefined","getPreviousTokens","result","Array","isArray","saveToken","token","set","tokens","currentIndex","indexOf","splice","push","length","slice","debug","clearTokens","remove","convertTokenToString","deviceToken","map","data","toString","padStart","join","reset"],"sourceRoot":"../../../src","sources":["services/TokenService.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,gCAA6B;AAGxD,OAAO,MAAMC,YAAY,CAAC;EACxB,OAAwBC,iBAAiB,GAAG,yBAAyB;EACrE,OAAwBC,mBAAmB,GAAG,kBAAkB;EAChE,OAAwBC,UAAU,GAAG,CAAC;EAEtCC,WAAWA,CAAkBC,cAA8B,EAAE;IAAA,KAAhCA,cAA8B,GAA9BA,cAA8B;EAAG;
|
|
1
|
+
{"version":3,"names":["ClixLogger","TokenService","CURRENT_TOKEN_KEY","PREVIOUS_TOKENS_KEY","MAX_TOKENS","constructor","storageService","getCurrentToken","get","error","undefined","getPreviousTokens","result","Array","isArray","saveToken","token","set","tokens","currentIndex","indexOf","splice","push","length","slice","debug","clearTokens","remove","convertTokenToString","deviceToken","map","data","toString","padStart","join","reset"],"sourceRoot":"../../../src","sources":["services/TokenService.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export class ClixDateFormatter {
|
|
4
|
+
static format(date) {
|
|
5
|
+
const pad = num => num.toString().padStart(2, '0');
|
|
6
|
+
const year = date.getFullYear();
|
|
7
|
+
const month = pad(date.getMonth() + 1);
|
|
8
|
+
const day = pad(date.getDate());
|
|
9
|
+
const hours = pad(date.getHours());
|
|
10
|
+
const minutes = pad(date.getMinutes());
|
|
11
|
+
const seconds = pad(date.getSeconds());
|
|
12
|
+
const offsetMinutes = date.getTimezoneOffset();
|
|
13
|
+
const offsetSign = offsetMinutes <= 0 ? '+' : '-';
|
|
14
|
+
const offsetHours = pad(Math.floor(Math.abs(offsetMinutes) / 60));
|
|
15
|
+
const offsetMinutesPart = pad(Math.abs(offsetMinutes) % 60);
|
|
16
|
+
return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}${offsetSign}${offsetHours}:${offsetMinutesPart}`;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=ClixDateFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ClixDateFormatter","format","date","pad","num","toString","padStart","year","getFullYear","month","getMonth","day","getDate","hours","getHours","minutes","getMinutes","seconds","getSeconds","offsetMinutes","getTimezoneOffset","offsetSign","offsetHours","Math","floor","abs","offsetMinutesPart"],"sourceRoot":"../../../src","sources":["utils/ClixDateFormatter.ts"],"mappings":";;AAAA,OAAO,MAAMA,iBAAiB,CAAC;EAC7B,OAAOC,MAAMA,CAACC,IAAU,EAAU;IAChC,MAAMC,GAAG,GAAIC,GAAW,IAAKA,GAAG,CAACC,QAAQ,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAE5D,MAAMC,IAAI,GAAGL,IAAI,CAACM,WAAW,CAAC,CAAC;IAC/B,MAAMC,KAAK,GAAGN,GAAG,CAACD,IAAI,CAACQ,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;IACtC,MAAMC,GAAG,GAAGR,GAAG,CAACD,IAAI,CAACU,OAAO,CAAC,CAAC,CAAC;IAC/B,MAAMC,KAAK,GAAGV,GAAG,CAACD,IAAI,CAACY,QAAQ,CAAC,CAAC,CAAC;IAClC,MAAMC,OAAO,GAAGZ,GAAG,CAACD,IAAI,CAACc,UAAU,CAAC,CAAC,CAAC;IACtC,MAAMC,OAAO,GAAGd,GAAG,CAACD,IAAI,CAACgB,UAAU,CAAC,CAAC,CAAC;IAEtC,MAAMC,aAAa,GAAGjB,IAAI,CAACkB,iBAAiB,CAAC,CAAC;IAC9C,MAAMC,UAAU,GAAGF,aAAa,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG;IACjD,MAAMG,WAAW,GAAGnB,GAAG,CAACoB,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,GAAG,CAACN,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;IACjE,MAAMO,iBAAiB,GAAGvB,GAAG,CAACoB,IAAI,CAACE,GAAG,CAACN,aAAa,CAAC,GAAG,EAAE,CAAC;IAE3D,OAAO,GAAGZ,IAAI,IAAIE,KAAK,IAAIE,GAAG,IAAIE,KAAK,IAAIE,OAAO,IAAIE,OAAO,GAAGI,UAAU,GAAGC,WAAW,IAAII,iBAAiB,EAAE;EACjH;AACF","ignoreList":[]}
|