@unvired/react-native-wrapper-sdk 0.0.19 → 0.0.21
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/dist/lib/file/FileService.js +4 -4
- package/dist/lib/settings/SettingsService.d.ts +3 -0
- package/dist/lib/settings/SettingsService.d.ts.map +1 -1
- package/dist/lib/settings/SettingsService.js +24 -12
- package/package.json +2 -2
- package/src/lib/file/FileService.ts +4 -4
- package/src/lib/settings/SettingsService.ts +140 -116
|
@@ -5,19 +5,19 @@ const unvired_ts_core_sdk_1 = require("@unvired/unvired-ts-core-sdk");
|
|
|
5
5
|
class FileService {
|
|
6
6
|
getDocumentDirectory() {
|
|
7
7
|
// @ts-ignore
|
|
8
|
-
return unvired_ts_core_sdk_1.PlatformManager.getInstance().getPlatformAdapter().
|
|
8
|
+
return unvired_ts_core_sdk_1.PlatformManager.getInstance().getPlatformAdapter().getDocumentDirectory();
|
|
9
9
|
}
|
|
10
10
|
resolveLocalFileSystemURL(url) {
|
|
11
11
|
// @ts-ignore
|
|
12
|
-
return unvired_ts_core_sdk_1.PlatformManager.getInstance().getPlatformAdapter().
|
|
12
|
+
return unvired_ts_core_sdk_1.PlatformManager.getInstance().getPlatformAdapter().resolveLocalFileSystemURL(url);
|
|
13
13
|
}
|
|
14
14
|
async getFolderBasedOnUserId(userId) {
|
|
15
15
|
// @ts-ignore
|
|
16
|
-
return await unvired_ts_core_sdk_1.PlatformManager.getInstance().getPlatformAdapter().
|
|
16
|
+
return await unvired_ts_core_sdk_1.PlatformManager.getInstance().getPlatformAdapter().getFolderBasedOnUserId(userId);
|
|
17
17
|
}
|
|
18
18
|
async deleteUserFolder(userId) {
|
|
19
19
|
// @ts-ignore
|
|
20
|
-
await unvired_ts_core_sdk_1.PlatformManager.getInstance().getPlatformAdapter().
|
|
20
|
+
await unvired_ts_core_sdk_1.PlatformManager.getInstance().getPlatformAdapter().deleteUserFolder(userId);
|
|
21
21
|
}
|
|
22
22
|
// AttachmentService is not exported from the SDK, so we cannot expose start/stop here directly.
|
|
23
23
|
// If background sync control is needed, it might be via SyncEngine or other means.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsService.d.ts","sourceRoot":"","sources":["../../../src/lib/settings/SettingsService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SettingsService.d.ts","sourceRoot":"","sources":["../../../src/lib/settings/SettingsService.ts"],"names":[],"mappings":"AAYA,qBAAa,eAAe;IAC1B;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAIpC,aAAa,IAAI,MAAM;IAKvB,WAAW,IAAI,MAAM;IAKrB,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAItC;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3C;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAIvC;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC;IA4CrC;;;OAGG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;CAoB9C"}
|
|
@@ -9,6 +9,18 @@ class SettingsService {
|
|
|
9
9
|
async getLogLevel() {
|
|
10
10
|
return unvired_ts_core_sdk_1.FrameworkSettingsManager.getInstance().getFieldValue(unvired_ts_core_sdk_1.FrameworkSettingsFields.logLevel);
|
|
11
11
|
}
|
|
12
|
+
getDeviceInfo() {
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
return unvired_ts_core_sdk_1.PlatformManager.getInstance().getPlatformAdapter().getDeviceInfo();
|
|
15
|
+
}
|
|
16
|
+
getPlatform() {
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
return unvired_ts_core_sdk_1.PlatformManager.getInstance().getPlatformAdapter().getPlatform();
|
|
19
|
+
}
|
|
20
|
+
getFrontendType() {
|
|
21
|
+
// @ts-ignore
|
|
22
|
+
return unvired_ts_core_sdk_1.PlatformManager.getInstance().getPlatformAdapter().getFrontendType();
|
|
23
|
+
}
|
|
12
24
|
/**
|
|
13
25
|
* Set log level
|
|
14
26
|
* @param logLevel Log Level
|
|
@@ -46,7 +58,7 @@ class SettingsService {
|
|
|
46
58
|
async getUserSettings() {
|
|
47
59
|
const unviredAccount = unvired_ts_core_sdk_1.UnviredAccountManager.getInstance().getLastLoggedInAccount();
|
|
48
60
|
if (!unviredAccount) {
|
|
49
|
-
throw new Error(
|
|
61
|
+
throw new Error('No account found');
|
|
50
62
|
}
|
|
51
63
|
let jwtToken = unvired_ts_core_sdk_1.AuthenticationService.instance.jwtToken;
|
|
52
64
|
// Fallback or re-fetch token logic
|
|
@@ -61,17 +73,17 @@ class SettingsService {
|
|
|
61
73
|
// index.d.ts says: loginParameters: any;
|
|
62
74
|
const loginParams = unvired_ts_core_sdk_1.AuthenticationService.instance.loginParameters || {};
|
|
63
75
|
return {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
76
|
+
UNVIRED_ID: unviredUserId,
|
|
77
|
+
USER_ID: loginParams.username || unviredUserId,
|
|
78
|
+
FIRST_NAME: unviredAccount.getFirstName(),
|
|
79
|
+
LAST_NAME: unviredAccount.getLastName(),
|
|
80
|
+
FULL_NAME: `${unviredAccount.getFirstName()} ${unviredAccount.getLastName()}`,
|
|
81
|
+
EMAIL: emailId || '',
|
|
82
|
+
SERVER_URL: unviredAccount.getServerURL(),
|
|
83
|
+
SERVER_TYPE: serverType || '',
|
|
84
|
+
LOGIN_TYPE: loginParams.loginType,
|
|
85
|
+
UNVIRED_PASSWORD: unviredPassword || '',
|
|
86
|
+
JWT_TOKEN: jwtToken,
|
|
75
87
|
};
|
|
76
88
|
}
|
|
77
89
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unvired/react-native-wrapper-sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.21",
|
|
4
4
|
"description": "Unvired SDK for React Native - Enterprise mobile platform SDK with authentication, sync, and offline database",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"react-native-zip-archive": "^7.0.2"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@unvired/unvired-ts-core-sdk": "^0.0.
|
|
36
|
+
"@unvired/unvired-ts-core-sdk": "^0.0.19",
|
|
37
37
|
"axios": "^1.6.5",
|
|
38
38
|
"crypto-js": "^4.2.0",
|
|
39
39
|
"uuid": "^9.0.1"
|
|
@@ -21,22 +21,22 @@ export class FileService {
|
|
|
21
21
|
|
|
22
22
|
getDocumentDirectory(): string {
|
|
23
23
|
// @ts-ignore
|
|
24
|
-
return PlatformManager.getInstance().getPlatformAdapter().
|
|
24
|
+
return PlatformManager.getInstance().getPlatformAdapter().getDocumentDirectory();
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
resolveLocalFileSystemURL(url: string): Promise<IFileEntry> {
|
|
28
28
|
// @ts-ignore
|
|
29
|
-
return PlatformManager.getInstance().getPlatformAdapter().
|
|
29
|
+
return PlatformManager.getInstance().getPlatformAdapter().resolveLocalFileSystemURL(url);
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
async getFolderBasedOnUserId(userId: string): Promise<string> {
|
|
33
33
|
// @ts-ignore
|
|
34
|
-
return await PlatformManager.getInstance().getPlatformAdapter().
|
|
34
|
+
return await PlatformManager.getInstance().getPlatformAdapter().getFolderBasedOnUserId(userId);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
async deleteUserFolder(userId: string): Promise<void> {
|
|
38
38
|
// @ts-ignore
|
|
39
|
-
await PlatformManager.getInstance().getPlatformAdapter().
|
|
39
|
+
await PlatformManager.getInstance().getPlatformAdapter().deleteUserFolder(userId);
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
// AttachmentService is not exported from the SDK, so we cannot expose start/stop here directly.
|
|
@@ -1,126 +1,150 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
SettingsHelper,
|
|
3
|
+
FrameworkSettingsManager,
|
|
4
|
+
FrameworkSettingsFields,
|
|
5
|
+
UserSettingsManager,
|
|
6
|
+
UserSettingsFields,
|
|
7
|
+
UnviredAccountManager,
|
|
8
|
+
HttpConnection,
|
|
9
|
+
AuthenticationService,
|
|
10
|
+
PlatformManager,
|
|
10
11
|
} from '@unvired/unvired-ts-core-sdk';
|
|
11
12
|
|
|
12
13
|
export class SettingsService {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
};
|
|
14
|
+
/**
|
|
15
|
+
* Get current log level
|
|
16
|
+
*/
|
|
17
|
+
async getLogLevel(): Promise<string> {
|
|
18
|
+
return FrameworkSettingsManager.getInstance().getFieldValue(FrameworkSettingsFields.logLevel);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
getDeviceInfo(): string {
|
|
22
|
+
// @ts-ignore
|
|
23
|
+
return PlatformManager.getInstance().getPlatformAdapter().getDeviceInfo();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
getPlatform(): string {
|
|
27
|
+
// @ts-ignore
|
|
28
|
+
return PlatformManager.getInstance().getPlatformAdapter().getPlatform();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
getFrontendType(): string {
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
return PlatformManager.getInstance().getPlatformAdapter().getFrontendType();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Set log level
|
|
37
|
+
* @param logLevel Log Level
|
|
38
|
+
*/
|
|
39
|
+
async setLogLevel(logLevel: string): Promise<void> {
|
|
40
|
+
return SettingsHelper.setLogLevel(logLevel);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Send logs to server
|
|
45
|
+
*/
|
|
46
|
+
async sendLogToServer(): Promise<void> {
|
|
47
|
+
return SettingsHelper.sendLogsToServer();
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Create and get Log Zip path (for email etc)
|
|
52
|
+
*/
|
|
53
|
+
async getLogZipPath(): Promise<string> {
|
|
54
|
+
return SettingsHelper.createAndGetLogZipPath();
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Test Push Notification
|
|
59
|
+
*/
|
|
60
|
+
async testPushNotification(): Promise<void> {
|
|
61
|
+
return SettingsHelper.testPushNotification();
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Get list of Info Messages
|
|
66
|
+
*/
|
|
67
|
+
async getInfoMessages(): Promise<any[]> {
|
|
68
|
+
return SettingsHelper.getInfoMessages();
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Get User Settings / Current Account Information
|
|
73
|
+
*/
|
|
74
|
+
async getUserSettings(): Promise<any> {
|
|
75
|
+
const unviredAccount = UnviredAccountManager.getInstance().getLastLoggedInAccount();
|
|
76
|
+
if (!unviredAccount) {
|
|
77
|
+
throw new Error('No account found');
|
|
94
78
|
}
|
|
95
79
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
async setAuthToken(token: string): Promise<void> {
|
|
101
|
-
(AuthenticationService as any).instance.jwtToken = token;
|
|
102
|
-
await UserSettingsManager.getInstance().setFieldValue(UserSettingsFields.jwtToken, token);
|
|
80
|
+
let jwtToken = (AuthenticationService as any).instance.jwtToken;
|
|
81
|
+
// Fallback or re-fetch token logic
|
|
82
|
+
if (!jwtToken) {
|
|
83
|
+
jwtToken = unviredAccount.getJwtToken();
|
|
103
84
|
}
|
|
104
85
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
86
|
+
const serverType = await FrameworkSettingsManager.getInstance().getFieldValue(
|
|
87
|
+
FrameworkSettingsFields.serverType
|
|
88
|
+
);
|
|
89
|
+
const emailId = await FrameworkSettingsManager.getInstance().getFieldValue(
|
|
90
|
+
FrameworkSettingsFields.email
|
|
91
|
+
);
|
|
92
|
+
const unviredUserId = await UserSettingsManager.getInstance().getFieldValue(
|
|
93
|
+
UserSettingsFields.unviredUserId
|
|
94
|
+
);
|
|
95
|
+
const unviredPassword = await UserSettingsManager.getInstance().getFieldValue(
|
|
96
|
+
UserSettingsFields.unviredPassword
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
// Accessing loginParameters from AuthenticationService might need cast if it's protected/private or simply public
|
|
100
|
+
// index.d.ts says: loginParameters: any;
|
|
101
|
+
const loginParams = (AuthenticationService as any).instance.loginParameters || {};
|
|
102
|
+
|
|
103
|
+
return {
|
|
104
|
+
UNVIRED_ID: unviredUserId,
|
|
105
|
+
USER_ID: loginParams.username || unviredUserId,
|
|
106
|
+
FIRST_NAME: unviredAccount.getFirstName(),
|
|
107
|
+
LAST_NAME: unviredAccount.getLastName(),
|
|
108
|
+
FULL_NAME: `${unviredAccount.getFirstName()} ${unviredAccount.getLastName()}`,
|
|
109
|
+
EMAIL: emailId || '',
|
|
110
|
+
SERVER_URL: unviredAccount.getServerURL(),
|
|
111
|
+
SERVER_TYPE: serverType || '',
|
|
112
|
+
LOGIN_TYPE: loginParams.loginType,
|
|
113
|
+
UNVIRED_PASSWORD: unviredPassword || '',
|
|
114
|
+
JWT_TOKEN: jwtToken,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Set Auth Token
|
|
120
|
+
* @param token JWT Token
|
|
121
|
+
*/
|
|
122
|
+
async setAuthToken(token: string): Promise<void> {
|
|
123
|
+
(AuthenticationService as any).instance.jwtToken = token;
|
|
124
|
+
await UserSettingsManager.getInstance().setFieldValue(UserSettingsFields.jwtToken, token);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Get Auth Token Validity (remaining seconds)
|
|
129
|
+
*/
|
|
130
|
+
async getAuthTokenValidity(): Promise<number> {
|
|
131
|
+
const token = await UserSettingsManager.getInstance().getFieldValue(
|
|
132
|
+
UserSettingsFields.jwtToken
|
|
133
|
+
);
|
|
134
|
+
if (!token) return 0;
|
|
135
|
+
|
|
136
|
+
try {
|
|
137
|
+
const parts = token.split('.');
|
|
138
|
+
if (parts.length !== 3) return 0;
|
|
139
|
+
|
|
140
|
+
const payload = JSON.parse(atob(parts[1]));
|
|
141
|
+
if (!payload.exp) return 0;
|
|
142
|
+
|
|
143
|
+
const now = Math.floor(Date.now() / 1000);
|
|
144
|
+
const remaining = payload.exp - now;
|
|
145
|
+
return remaining > 0 ? remaining : 0;
|
|
146
|
+
} catch (e) {
|
|
147
|
+
return 0;
|
|
125
148
|
}
|
|
149
|
+
}
|
|
126
150
|
}
|