@unvired/react-native-wrapper-sdk 0.0.14 → 0.0.15

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 (38) hide show
  1. package/dist/UnviredWrapper.d.ts +25 -22
  2. package/dist/UnviredWrapper.d.ts.map +1 -1
  3. package/dist/UnviredWrapper.js +32 -48
  4. package/dist/lib/auth/AuthBuilder.d.ts.map +1 -0
  5. package/dist/lib/auth/AuthService.d.ts +27 -0
  6. package/dist/lib/auth/AuthService.d.ts.map +1 -0
  7. package/dist/lib/auth/AuthService.js +46 -0
  8. package/dist/lib/database/DatabaseService.d.ts +86 -0
  9. package/dist/lib/database/DatabaseService.d.ts.map +1 -0
  10. package/dist/lib/database/DatabaseService.js +134 -0
  11. package/dist/lib/file/FileService.d.ts +72 -0
  12. package/dist/lib/file/FileService.d.ts.map +1 -0
  13. package/dist/lib/file/FileService.js +136 -0
  14. package/dist/lib/logger/LoggerService.d.ts +45 -0
  15. package/dist/lib/logger/LoggerService.d.ts.map +1 -0
  16. package/dist/lib/logger/LoggerService.js +65 -0
  17. package/dist/lib/notification/NotificationService.d.ts +28 -0
  18. package/dist/lib/notification/NotificationService.d.ts.map +1 -0
  19. package/dist/lib/notification/NotificationService.js +47 -0
  20. package/dist/lib/settings/SettingsService.d.ts +41 -0
  21. package/dist/lib/settings/SettingsService.d.ts.map +1 -0
  22. package/dist/lib/settings/SettingsService.js +108 -0
  23. package/dist/lib/sync/SyncService.d.ts +96 -0
  24. package/dist/lib/sync/SyncService.d.ts.map +1 -0
  25. package/dist/lib/sync/SyncService.js +139 -0
  26. package/package.json +3 -3
  27. package/src/UnviredWrapper.ts +34 -52
  28. package/src/lib/auth/AuthService.ts +45 -0
  29. package/src/lib/database/DatabaseService.ts +148 -0
  30. package/src/lib/file/FileService.ts +149 -0
  31. package/src/lib/logger/LoggerService.ts +70 -0
  32. package/src/lib/notification/NotificationService.ts +45 -0
  33. package/src/lib/settings/SettingsService.ts +126 -0
  34. package/src/lib/sync/SyncService.ts +160 -0
  35. package/dist/lib/AuthBuilder.d.ts.map +0 -1
  36. /package/dist/lib/{AuthBuilder.d.ts → auth/AuthBuilder.d.ts} +0 -0
  37. /package/dist/lib/{AuthBuilder.js → auth/AuthBuilder.js} +0 -0
  38. /package/src/lib/{AuthBuilder.ts → auth/AuthBuilder.ts} +0 -0
@@ -0,0 +1,45 @@
1
+ import { PlatformManager } from '@unvired/unvired-ts-core-sdk';
2
+
3
+ export class NotificationService {
4
+
5
+ private get adapter() {
6
+ return PlatformManager.getInstance().getPlatformAdapter().getPushNotificationAdapter();
7
+ }
8
+
9
+ /**
10
+ * Requests permission and gets token
11
+ */
12
+ async requestPermission(options?: { forceShow: boolean }): Promise<void> {
13
+ return this.adapter?.requestPermission(options);
14
+ }
15
+
16
+ /**
17
+ * Gets the push token
18
+ */
19
+ async getToken(): Promise<string | undefined> {
20
+ return this.adapter?.getToken();
21
+ }
22
+
23
+ /**
24
+ * Sets callback for token refresh
25
+ */
26
+ onTokenRefresh(callback: (token: string) => void): void {
27
+ this.adapter?.onTokenRefresh(callback);
28
+ }
29
+
30
+ /**
31
+ * Sets listener for incoming notifications (foreground)
32
+ * @param onMessage Callback when a notification is received
33
+ */
34
+ onNotificationReceived(onMessage: (data: any) => void): void {
35
+ this.adapter?.onMessage(onMessage);
36
+ }
37
+
38
+ /**
39
+ * Sets listener for incoming notifications (background)
40
+ * @param onMessage Callback when a notification is received
41
+ */
42
+ onBackgroundNotificationReceived(onMessage: (data: any) => void): void {
43
+ this.adapter?.onBackgroundMessage(onMessage);
44
+ }
45
+ }
@@ -0,0 +1,126 @@
1
+ import {
2
+ SettingsHelper,
3
+ FrameworkSettingsManager,
4
+ FrameworkSettingsFields,
5
+ UserSettingsManager,
6
+ UserSettingsFields,
7
+ UnviredAccountManager,
8
+ HttpConnection,
9
+ AuthenticationService
10
+ } from '@unvired/unvired-ts-core-sdk';
11
+
12
+ export class SettingsService {
13
+
14
+ /**
15
+ * Get current log level
16
+ */
17
+ async getLogLevel(): Promise<string> {
18
+ return FrameworkSettingsManager.getInstance().getFieldValue(FrameworkSettingsFields.logLevel);
19
+ }
20
+
21
+ /**
22
+ * Set log level
23
+ * @param logLevel Log Level
24
+ */
25
+ async setLogLevel(logLevel: string): Promise<void> {
26
+ return SettingsHelper.setLogLevel(logLevel);
27
+ }
28
+
29
+ /**
30
+ * Send logs to server
31
+ */
32
+ async sendLogToServer(): Promise<void> {
33
+ return SettingsHelper.sendLogsToServer();
34
+ }
35
+
36
+ /**
37
+ * Create and get Log Zip path (for email etc)
38
+ */
39
+ async getLogZipPath(): Promise<string> {
40
+ return SettingsHelper.createAndGetLogZipPath();
41
+ }
42
+
43
+ /**
44
+ * Test Push Notification
45
+ */
46
+ async testPushNotification(): Promise<void> {
47
+ return SettingsHelper.testPushNotification();
48
+ }
49
+
50
+ /**
51
+ * Get list of Info Messages
52
+ */
53
+ async getInfoMessages(): Promise<any[]> {
54
+ return SettingsHelper.getInfoMessages();
55
+ }
56
+
57
+ /**
58
+ * Get User Settings / Current Account Information
59
+ */
60
+ async getUserSettings(): Promise<any> {
61
+ const unviredAccount = UnviredAccountManager.getInstance().getLastLoggedInAccount();
62
+ if (!unviredAccount) {
63
+ throw new Error("No account found");
64
+ }
65
+
66
+ let jwtToken = (AuthenticationService as any).instance.jwtToken;
67
+ // Fallback or re-fetch token logic
68
+ if (!jwtToken) {
69
+ jwtToken = unviredAccount.getJwtToken();
70
+ }
71
+
72
+ const serverType = await FrameworkSettingsManager.getInstance().getFieldValue(FrameworkSettingsFields.serverType);
73
+ const emailId = await FrameworkSettingsManager.getInstance().getFieldValue(FrameworkSettingsFields.email);
74
+ const unviredUserId = await UserSettingsManager.getInstance().getFieldValue(UserSettingsFields.unviredUserId);
75
+ const unviredPassword = await UserSettingsManager.getInstance().getFieldValue(UserSettingsFields.unviredPassword);
76
+
77
+ // Accessing loginParameters from AuthenticationService might need cast if it's protected/private or simply public
78
+ // index.d.ts says: loginParameters: any;
79
+ const loginParams = (AuthenticationService as any).instance.loginParameters || {};
80
+
81
+ return {
82
+ "UNVIRED_ID": unviredUserId,
83
+ "USER_ID": loginParams.username || unviredUserId,
84
+ "FIRST_NAME": unviredAccount.getFirstName(),
85
+ "LAST_NAME": unviredAccount.getLastName(),
86
+ "FULL_NAME": `${unviredAccount.getFirstName()} ${unviredAccount.getLastName()}`,
87
+ "EMAIL": emailId || "",
88
+ "SERVER_URL": unviredAccount.getServerURL(),
89
+ "SERVER_TYPE": serverType || "",
90
+ "LOGIN_TYPE": loginParams.loginType,
91
+ "UNVIRED_PASSWORD": unviredPassword || "",
92
+ "JWT_TOKEN": jwtToken
93
+ };
94
+ }
95
+
96
+ /**
97
+ * Set Auth Token
98
+ * @param token JWT Token
99
+ */
100
+ async setAuthToken(token: string): Promise<void> {
101
+ (AuthenticationService as any).instance.jwtToken = token;
102
+ await UserSettingsManager.getInstance().setFieldValue(UserSettingsFields.jwtToken, token);
103
+ }
104
+
105
+ /**
106
+ * Get Auth Token Validity (remaining seconds)
107
+ */
108
+ async getAuthTokenValidity(): Promise<number> {
109
+ const token = await UserSettingsManager.getInstance().getFieldValue(UserSettingsFields.jwtToken);
110
+ if (!token) return 0;
111
+
112
+ try {
113
+ const parts = token.split('.');
114
+ if (parts.length !== 3) return 0;
115
+
116
+ const payload = JSON.parse(atob(parts[1]));
117
+ if (!payload.exp) return 0;
118
+
119
+ const now = Math.floor(Date.now() / 1000);
120
+ const remaining = payload.exp - now;
121
+ return remaining > 0 ? remaining : 0;
122
+ } catch (e) {
123
+ return 0;
124
+ }
125
+ }
126
+ }
@@ -0,0 +1,160 @@
1
+ import {
2
+ SyncEngine,
3
+ SettingsHelper,
4
+ NotificationListenerHelper,
5
+ OutboxService,
6
+ OutBoxHelper
7
+ } from '@unvired/unvired-ts-core-sdk';
8
+
9
+ /**
10
+ * Service for handling Synchronization with Unvired Server
11
+ */
12
+ export class SyncService {
13
+
14
+ /**
15
+ * Submit data to UMP server in sync mode (Foreground)
16
+ * @param reqType Request Type (RQST/PULL/PUSH/QUERY/REQ)
17
+ * @param header Header Data Structure
18
+ * @param customData Custom data string (optional)
19
+ * @param paFunction Process Agent Function Name
20
+ * @param autoSave Whether to auto-save data in DB
21
+ */
22
+ async syncForeground(reqType: any, header: any, customData: string = "", paFunction: string, autoSave: boolean): Promise<any> {
23
+ return SyncEngine.syncForeground(reqType, header, customData, paFunction, autoSave);
24
+ }
25
+
26
+ /**
27
+ * Submit data to UMP server in async mode (Background)
28
+ * @param reqType Request Type
29
+ * @param header Header Data Structure
30
+ * @param customData Custom data string (optional)
31
+ * @param paFunction Process Agent Function Name
32
+ * @param beName Business Entity Name
33
+ */
34
+ async syncBackground(reqType: any, header: any, customData: string = "", paFunction: string, beName: string): Promise<any> {
35
+ return SyncEngine.syncBackground(reqType, header, customData, paFunction, beName);
36
+ }
37
+
38
+ /**
39
+ * Sends request for initial data download
40
+ * @param functions List of functions to execute
41
+ */
42
+ async sendInitialDataDownloadRequest(functions: any[] = []): Promise<void> {
43
+ return SettingsHelper.requestInitialDataDownload(functions);
44
+ }
45
+
46
+ /**
47
+ * Gets synchronization state
48
+ * @param callback Callback to receive state updates
49
+ */
50
+ getSynchronizationState(callback: (state: string) => void): void {
51
+ NotificationListenerHelper.synchronizationStateListener = callback;
52
+ // Initial state
53
+ callback("idle");
54
+ }
55
+
56
+ /**
57
+ * Starts Inbox Handler
58
+ */
59
+ startInboxHandler(): void {
60
+ // Correct usage of SyncEngine as per SDK definition
61
+ SyncEngine.startInboxHandler();
62
+ }
63
+
64
+ /**
65
+ * Starts Data Sender (Outbox Handler)
66
+ */
67
+ startDataSender(): void {
68
+ OutboxService.getInstance().start();
69
+ }
70
+
71
+ /**
72
+ * Request for downloading messages from server
73
+ */
74
+ getMessages(): void {
75
+ SyncEngine.getMessages();
76
+ }
77
+
78
+ /**
79
+ * Register for Data Sender notifications
80
+ * @param callback Callback function
81
+ */
82
+ registerDataSenderListener(callback: (data: any) => void): void {
83
+ NotificationListenerHelper.dataSenderListener = callback;
84
+ }
85
+
86
+ /**
87
+ * Unregister Data Sender notifications
88
+ */
89
+ unRegisterDataSenderListener(): void {
90
+ NotificationListenerHelper.dataSenderListener = null;
91
+ }
92
+
93
+ /**
94
+ * Register for Sync Items count updates
95
+ * @param callback Callback function
96
+ */
97
+ registerSyncItemsCountListener(callback: (count: any) => void): void {
98
+ NotificationListenerHelper.syncItemsCountListener = callback;
99
+ }
100
+
101
+ /**
102
+ * Check if a BE is in the Outbox queue
103
+ * @param beLid BE Header LID
104
+ */
105
+ async isInOutBox(beLid: string): Promise<boolean> {
106
+ return SettingsHelper.isInOutBoxQueue(beLid);
107
+ }
108
+
109
+ /**
110
+ * Check if a BE is in Sent Items
111
+ * @param beLid BE Header LID
112
+ */
113
+ async isInSentItem(beLid: string): Promise<boolean> {
114
+ return SettingsHelper.isInSentItems(beLid);
115
+ }
116
+
117
+ /**
118
+ * Get count of items in Outbox
119
+ */
120
+ async outBoxItemCount(): Promise<number> {
121
+ return SettingsHelper.getOutboxCount();
122
+ }
123
+
124
+ /**
125
+ * Get count of items in Sent Items
126
+ */
127
+ async sentItemCount(): Promise<number> {
128
+ return SettingsHelper.getSentItemsCount();
129
+ }
130
+
131
+ /**
132
+ * Get count of items in Inbox
133
+ */
134
+ async inBoxItemCount(): Promise<number> {
135
+ return SettingsHelper.getInboxCount();
136
+ }
137
+
138
+ /**
139
+ * Delete an entry from Outbox
140
+ * @param beLid BE Header LID
141
+ */
142
+ async deleteOutBoxEntry(beLid: string): Promise<any> {
143
+ return SyncEngine.removeOutObjectBasedOnLid(beLid);
144
+ }
145
+
146
+ /**
147
+ * Lock Data Sender for a specific BE
148
+ * @param beLid BE LID
149
+ */
150
+ async lockDataSender(beLid: string): Promise<any> {
151
+ return SyncEngine.lockDataSender(beLid);
152
+ }
153
+
154
+ /**
155
+ * Unlock Data Sender
156
+ */
157
+ async unlockDataSender(): Promise<any> {
158
+ return SyncEngine.unlockDataSender();
159
+ }
160
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"AuthBuilder.d.ts","sourceRoot":"","sources":["../../src/lib/AuthBuilder.ts"],"names":[],"mappings":"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"}
File without changes