@savers_app/react-native-sdk 1.2.3 → 1.2.5

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 (59) hide show
  1. package/README.md +51 -27
  2. package/lib/module/core/runtime.js +3 -0
  3. package/lib/module/core/runtime.js.map +1 -1
  4. package/lib/module/data/models/tokenModel.js +25 -0
  5. package/lib/module/data/models/tokenModel.js.map +1 -0
  6. package/lib/module/data/network/apiClient.js +2 -2
  7. package/lib/module/data/network/apiClient.js.map +1 -1
  8. package/lib/module/data/network/apiEndpoints.js +2 -1
  9. package/lib/module/data/network/apiEndpoints.js.map +1 -1
  10. package/lib/module/data/network/apiRepository.js +20 -6
  11. package/lib/module/data/network/apiRepository.js.map +1 -1
  12. package/lib/module/data/network/apiService.js +36 -0
  13. package/lib/module/data/network/apiService.js.map +1 -1
  14. package/lib/module/data/network/interceptors/authInterceptor.js +6 -3
  15. package/lib/module/data/network/interceptors/authInterceptor.js.map +1 -1
  16. package/lib/module/data/storage/reactRefManager.js +22 -0
  17. package/lib/module/data/storage/reactRefManager.js.map +1 -0
  18. package/lib/module/services/navigation/goBackNavigation.js +5 -7
  19. package/lib/module/services/navigation/goBackNavigation.js.map +1 -1
  20. package/lib/module/services/url/urlGenerator.js +7 -3
  21. package/lib/module/services/url/urlGenerator.js.map +1 -1
  22. package/lib/module/services/webview/messageHandler.js +5 -2
  23. package/lib/module/services/webview/messageHandler.js.map +1 -1
  24. package/lib/module/utils/config.js +34 -0
  25. package/lib/module/utils/config.js.map +1 -0
  26. package/lib/typescript/src/core/runtime.d.ts +1 -0
  27. package/lib/typescript/src/core/runtime.d.ts.map +1 -1
  28. package/lib/typescript/src/data/models/tokenModel.d.ts +15 -0
  29. package/lib/typescript/src/data/models/tokenModel.d.ts.map +1 -0
  30. package/lib/typescript/src/data/network/apiEndpoints.d.ts +2 -1
  31. package/lib/typescript/src/data/network/apiEndpoints.d.ts.map +1 -1
  32. package/lib/typescript/src/data/network/apiRepository.d.ts +2 -0
  33. package/lib/typescript/src/data/network/apiRepository.d.ts.map +1 -1
  34. package/lib/typescript/src/data/network/apiService.d.ts +6 -0
  35. package/lib/typescript/src/data/network/apiService.d.ts.map +1 -1
  36. package/lib/typescript/src/data/network/interceptors/authInterceptor.d.ts +2 -0
  37. package/lib/typescript/src/data/network/interceptors/authInterceptor.d.ts.map +1 -1
  38. package/lib/typescript/src/data/storage/reactRefManager.d.ts +11 -0
  39. package/lib/typescript/src/data/storage/reactRefManager.d.ts.map +1 -0
  40. package/lib/typescript/src/services/navigation/goBackNavigation.d.ts +0 -1
  41. package/lib/typescript/src/services/navigation/goBackNavigation.d.ts.map +1 -1
  42. package/lib/typescript/src/services/url/urlGenerator.d.ts +1 -0
  43. package/lib/typescript/src/services/url/urlGenerator.d.ts.map +1 -1
  44. package/lib/typescript/src/services/webview/messageHandler.d.ts.map +1 -1
  45. package/lib/typescript/src/utils/config.d.ts +5 -0
  46. package/lib/typescript/src/utils/config.d.ts.map +1 -0
  47. package/package.json +8 -2
  48. package/src/core/runtime.ts +4 -0
  49. package/src/data/models/tokenModel.ts +43 -0
  50. package/src/data/network/apiClient.ts +2 -2
  51. package/src/data/network/apiEndpoints.ts +2 -1
  52. package/src/data/network/apiRepository.ts +30 -6
  53. package/src/data/network/apiService.ts +41 -0
  54. package/src/data/network/interceptors/authInterceptor.ts +12 -3
  55. package/src/data/storage/reactRefManager.ts +25 -0
  56. package/src/services/navigation/goBackNavigation.ts +6 -8
  57. package/src/services/url/urlGenerator.ts +9 -1
  58. package/src/services/webview/messageHandler.ts +5 -8
  59. package/src/utils/config.ts +35 -0
package/README.md CHANGED
@@ -6,7 +6,7 @@ React Native SDK that bridges host app features like maps, dialer, browser, devi
6
6
  - Open native maps by coordinates with graceful browser fallback
7
7
  - Dial pad invocation with optional number and direct call helper
8
8
  - External browser navigation from the host app or from web content
9
- - Close current screen via a binder component (React Navigation) using **END_SESSION** (no ref on NavigationContainer)
9
+ - Close current screen via global `navigationRef` (React Navigation) using **END_SESSION**
10
10
  - Device ID retrieval (via `react-native-device-info`)
11
11
  - Optional device location retrieval and URL payload enrichment
12
12
  - Session and keys management (API key, encryption key, program ref code, auth mode)
@@ -155,15 +155,48 @@ const url = await generateUrl({
155
155
  },
156
156
  // sessionId is optional; when omitted, the SDK uses its stored session id
157
157
  // deviceInfo is optional; the SDK builds it internally using device id (and optional coordinates)
158
+ nonce: '<NONCE_TOKEN>',
158
159
  });
159
160
  // returns https://m.saversapp.com/?pRefCode=...&qP=...
160
161
  ```
161
162
 
163
+ Fetch nonce and call generateUrl:
164
+
165
+ ```ts
166
+ import { ApiService, generateUrl } from '@savers_app/react-native-sdk';
167
+
168
+ const generator = new ApiService().getNonce({
169
+ extUserId: '12345',
170
+ partnerCode: 'abcde',
171
+ });
172
+
173
+ const { value } = await generator.next();
174
+ if (value?.error) throw new Error(value.error);
175
+ if (!value?.token) throw new Error('Nonce not received');
176
+
177
+ const url = await generateUrl({
178
+ authType: 'PHONE',
179
+ profile: {
180
+ userId: 'USER_ID',
181
+ email: 'jane@example.com',
182
+ firstname: 'Jane',
183
+ lastname: 'Doe',
184
+ phone: '+15555550100',
185
+ pv: '1',
186
+ ev: '1',
187
+ },
188
+ screen: { name: 'Explore', attributes: [{ key: 'offerId', value: '123' }] },
189
+ nonce: value.token,
190
+ });
191
+ ```
192
+
162
193
  Profile requirements:
163
194
  - `userId` and `email` are mandatory
164
195
  - `pv` and `ev` are optional (`'0'` or `'1'`)
165
196
  - `phone` is mandatory when `authType` is `'PHONE'`
166
197
  - `username` is mandatory when `authType` is `'USERNAME'`
198
+ Nonce requirement:
199
+ - `nonce` is mandatory and should be retrieved using `ApiService.getNonce` before calling `generateUrl`.
167
200
 
168
201
  Screen requirements:
169
202
  - `screen.name` is optional, defaults to `'Explore'`
@@ -183,34 +216,25 @@ Notes:
183
216
 
184
217
  The SDK can close the current screen without knowing the host app's navigation structure. This is useful for flows initiated from web content or deep links that need to programmatically exit back to the host app.
185
218
 
186
- One-time host app setup (binder component):
219
+ One-time host app setup using a global `navigationRef`:
187
220
 
188
221
  ```tsx
189
- import { useEffect } from 'react';
190
- import { NavigationContainer, useNavigation } from '@react-navigation/native';
191
- import { setGoBackImpl } from '@savers_app/react-native-sdk';
192
-
193
- function SaversNavBinder() {
194
- const navigation = useNavigation();
195
- useEffect(() => {
196
- setGoBackImpl(() => {
197
- if (navigation.canGoBack()) {
198
- navigation.goBack();
199
- return true;
200
- }
201
- return false;
202
- });
203
- }, [navigation]);
204
- return null;
205
- }
222
+ import { NavigationContainer, createNavigationContainerRef } from '@react-navigation/native';
223
+ import { SaversAppSDK } from '@savers_app/react-native-sdk';
224
+
225
+ export const navigationRef = createNavigationContainerRef();
206
226
 
207
227
  export function App() {
208
- return (
209
- <NavigationContainer>
210
- <SaversNavBinder />
211
- {/* your navigators */}
212
- </NavigationContainer>
213
- );
228
+ // Initialize the SDK once (e.g., in a root effect or before rendering)
229
+ SaversAppSDK.initialized({
230
+ apiKey: 'YOUR_API_KEY',
231
+ encryptionKey: 'BASE64_256_BIT_ENCRYPTION_KEY',
232
+ pRefCode: 'PROGRAM_REF_CODE',
233
+ authMode: 'EMAIL', // or 'PHONE'
234
+ navigationRef, // pass the ref to the SDK
235
+ });
236
+
237
+ return <NavigationContainer ref={navigationRef}>{/* your navigators */}</NavigationContainer>;
214
238
  }
215
239
  ```
216
240
 
@@ -224,8 +248,8 @@ closeCurrentScreenSafe(); // Android-only fallback to exitApp if it can't goBack
224
248
  ```
225
249
 
226
250
  Notes:
227
- - No `ref` is required on your `NavigationContainer`.
228
- - The binder component wires the SDK to React Navigation using context, enabling `closeCurrentScreen()` to work anywhere.
251
+ - The same `navigationRef` is passed to the `NavigationContainer` and to `SaversAppSDK.initialized`.
252
+ - The SDK stores this ref internally to implement `closeCurrentScreen()` reliably.
229
253
 
230
254
  ## WebView Integration
231
255
 
@@ -7,6 +7,7 @@ import { SDKRequirements } from "../utils/dependencyManager.js";
7
7
  // Data / Storage
8
8
  import { setApiKey, setEncryptionKey, setPRefCode, setAuthMode } from "../data/storage/keysManager.js";
9
9
  import { getDeviceId } from "../data/storage/deviceIdManager.js";
10
+ import { setReactRef } from "../data/storage/reactRefManager.js";
10
11
 
11
12
  // Services
12
13
  // import { getDeviceLocation } from '../services/device/location';
@@ -18,6 +19,7 @@ export function initializeSDK(providedKeys) {
18
19
  if (!keys.encryptionKey) missing.push('encryptionKey');
19
20
  if (!keys.pRefCode) missing.push('pRefCode');
20
21
  if (!keys.authMode) missing.push('authMode');
22
+ if (!keys.navigationRef) missing.push('navigationRef');
21
23
  if (missing.length) {
22
24
  const msg = `[SDK] Missing required keys: ${missing.join(', ')}`;
23
25
  logger.warn(msg);
@@ -27,6 +29,7 @@ export function initializeSDK(providedKeys) {
27
29
  setEncryptionKey(keys.encryptionKey);
28
30
  setPRefCode(keys.pRefCode);
29
31
  setAuthMode(keys.authMode);
32
+ setReactRef(keys.navigationRef);
30
33
  getDeviceId().then(id => {
31
34
  logger.info('[SDK] Device ID availability', {
32
35
  deviceId: Boolean(id)
@@ -1 +1 @@
1
- {"version":3,"names":["logger","SDKRequirements","setApiKey","setEncryptionKey","setPRefCode","setAuthMode","getDeviceId","initializeSDK","providedKeys","keys","missing","apiKey","push","encryptionKey","pRefCode","authMode","length","msg","join","warn","Error","then","id","info","deviceId","Boolean","catch","asyncStorage","geolocation","deviceInfo","SaversAppSDK","initialized"],"sourceRoot":"../../../src","sources":["core/runtime.ts"],"mappings":";;AAAA;AACA,SAASA,MAAM,QAAQ,oBAAiB;AACxC,SAASC,eAAe,QAAQ,+BAA4B;;AAE5D;AACA,SACEC,SAAS,EACTC,gBAAgB,EAChBC,WAAW,EACXC,WAAW,QACN,gCAA6B;AACpC,SAASC,WAAW,QAAQ,oCAAiC;;AAE7D;AACA;;AAEA,OAAO,SAASC,aAAaA,CAACC,YAK7B,EAAE;EACD,MAAMC,IAAI,GAAGD,YAAY;EACzB,MAAME,OAAiB,GAAG,EAAE;EAC5B,IAAI,CAACD,IAAI,CAACE,MAAM,EAAED,OAAO,CAACE,IAAI,CAAC,QAAQ,CAAC;EACxC,IAAI,CAACH,IAAI,CAACI,aAAa,EAAEH,OAAO,CAACE,IAAI,CAAC,eAAe,CAAC;EACtD,IAAI,CAACH,IAAI,CAACK,QAAQ,EAAEJ,OAAO,CAACE,IAAI,CAAC,UAAU,CAAC;EAC5C,IAAI,CAACH,IAAI,CAACM,QAAQ,EAAEL,OAAO,CAACE,IAAI,CAAC,UAAU,CAAC;EAE5C,IAAIF,OAAO,CAACM,MAAM,EAAE;IAClB,MAAMC,GAAG,GAAG,gCAAgCP,OAAO,CAACQ,IAAI,CAAC,IAAI,CAAC,EAAE;IAChElB,MAAM,CAACmB,IAAI,CAACF,GAAG,CAAC;IAChB,MAAM,IAAIG,KAAK,CAACH,GAAG,CAAC;EACtB;EACAf,SAAS,CAACO,IAAI,CAACE,MAAM,CAAC;EACtBR,gBAAgB,CAACM,IAAI,CAACI,aAAa,CAAC;EACpCT,WAAW,CAACK,IAAI,CAACK,QAAQ,CAAC;EAC1BT,WAAW,CAACI,IAAI,CAACM,QAAQ,CAAC;EAE1BT,WAAW,CAAC,CAAC,CACVe,IAAI,CAAEC,EAAE,IAAK;IACZtB,MAAM,CAACuB,IAAI,CAAC,8BAA8B,EAAE;MAAEC,QAAQ,EAAEC,OAAO,CAACH,EAAE;IAAE,CAAC,CAAC;EACxE,CAAC,CAAC,CACDI,KAAK,CAAC,MAAM;IACX1B,MAAM,CAACmB,IAAI,CAAC,6BAA6B,CAAC;EAC5C,CAAC,CAAC;;EAEJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,MAAM;IAAEQ,YAAY;IAAEC,WAAW;IAAEC;EAAW,CAAC,GAAG5B,eAAe;EACjE,IAAI0B,YAAY,IAAIC,WAAW,IAAIC,UAAU,EAAE;EAC/C,IAAI,CAACF,YAAY,EAAE;IACjB3B,MAAM,CAACmB,IAAI,CACT,4GACF,CAAC;EACH;EACA,IAAI,CAACS,WAAW,EAAE;IAChB5B,MAAM,CAACmB,IAAI,CACT,+FACF,CAAC;EACH;EAEA,IAAI,CAACU,UAAU,EAAE;IACf7B,MAAM,CAACmB,IAAI,CACT,uFACF,CAAC;EACH;AACF;AAEA,OAAO,MAAMW,YAAY,GAAG;EAC1BC,WAAW,EAAExB;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["logger","SDKRequirements","setApiKey","setEncryptionKey","setPRefCode","setAuthMode","getDeviceId","setReactRef","initializeSDK","providedKeys","keys","missing","apiKey","push","encryptionKey","pRefCode","authMode","navigationRef","length","msg","join","warn","Error","then","id","info","deviceId","Boolean","catch","asyncStorage","geolocation","deviceInfo","SaversAppSDK","initialized"],"sourceRoot":"../../../src","sources":["core/runtime.ts"],"mappings":";;AAAA;AACA,SAASA,MAAM,QAAQ,oBAAiB;AACxC,SAASC,eAAe,QAAQ,+BAA4B;;AAE5D;AACA,SACEC,SAAS,EACTC,gBAAgB,EAChBC,WAAW,EACXC,WAAW,QACN,gCAA6B;AACpC,SAASC,WAAW,QAAQ,oCAAiC;AAC7D,SAASC,WAAW,QAAQ,oCAAiC;;AAE7D;AACA;;AAEA,OAAO,SAASC,aAAaA,CAACC,YAM7B,EAAE;EACD,MAAMC,IAAI,GAAGD,YAAY;EACzB,MAAME,OAAiB,GAAG,EAAE;EAC5B,IAAI,CAACD,IAAI,CAACE,MAAM,EAAED,OAAO,CAACE,IAAI,CAAC,QAAQ,CAAC;EACxC,IAAI,CAACH,IAAI,CAACI,aAAa,EAAEH,OAAO,CAACE,IAAI,CAAC,eAAe,CAAC;EACtD,IAAI,CAACH,IAAI,CAACK,QAAQ,EAAEJ,OAAO,CAACE,IAAI,CAAC,UAAU,CAAC;EAC5C,IAAI,CAACH,IAAI,CAACM,QAAQ,EAAEL,OAAO,CAACE,IAAI,CAAC,UAAU,CAAC;EAC5C,IAAI,CAACH,IAAI,CAACO,aAAa,EAAEN,OAAO,CAACE,IAAI,CAAC,eAAe,CAAC;EAEtD,IAAIF,OAAO,CAACO,MAAM,EAAE;IAClB,MAAMC,GAAG,GAAG,gCAAgCR,OAAO,CAACS,IAAI,CAAC,IAAI,CAAC,EAAE;IAChEpB,MAAM,CAACqB,IAAI,CAACF,GAAG,CAAC;IAChB,MAAM,IAAIG,KAAK,CAACH,GAAG,CAAC;EACtB;EACAjB,SAAS,CAACQ,IAAI,CAACE,MAAM,CAAC;EACtBT,gBAAgB,CAACO,IAAI,CAACI,aAAa,CAAC;EACpCV,WAAW,CAACM,IAAI,CAACK,QAAQ,CAAC;EAC1BV,WAAW,CAACK,IAAI,CAACM,QAAQ,CAAC;EAC1BT,WAAW,CAACG,IAAI,CAACO,aAAa,CAAC;EAE/BX,WAAW,CAAC,CAAC,CACViB,IAAI,CAAEC,EAAE,IAAK;IACZxB,MAAM,CAACyB,IAAI,CAAC,8BAA8B,EAAE;MAAEC,QAAQ,EAAEC,OAAO,CAACH,EAAE;IAAE,CAAC,CAAC;EACxE,CAAC,CAAC,CACDI,KAAK,CAAC,MAAM;IACX5B,MAAM,CAACqB,IAAI,CAAC,6BAA6B,CAAC;EAC5C,CAAC,CAAC;;EAEJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,MAAM;IAAEQ,YAAY;IAAEC,WAAW;IAAEC;EAAW,CAAC,GAAG9B,eAAe;EACjE,IAAI4B,YAAY,IAAIC,WAAW,IAAIC,UAAU,EAAE;EAC/C,IAAI,CAACF,YAAY,EAAE;IACjB7B,MAAM,CAACqB,IAAI,CACT,4GACF,CAAC;EACH;EACA,IAAI,CAACS,WAAW,EAAE;IAChB9B,MAAM,CAACqB,IAAI,CACT,+FACF,CAAC;EACH;EAEA,IAAI,CAACU,UAAU,EAAE;IACf/B,MAAM,CAACqB,IAAI,CACT,uFACF,CAAC;EACH;AACF;AAEA,OAAO,MAAMW,YAAY,GAAG;EAC1BC,WAAW,EAAEzB;AACf,CAAC","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ export function tokenResponseFromJson(json) {
4
+ const map = {
5
+ ...json
6
+ };
7
+ const token = typeof map.token === 'string' && map.token.length > 0 ? map.token : null;
8
+ const statusCode = typeof map.statusCode === 'number' ? map.statusCode : typeof map.statusCode === 'string' ? Number(map.statusCode) : null;
9
+ const error = typeof map.error === 'string' && map.error.length > 0 ? map.error : null;
10
+ const messages = Array.isArray(map.message) ? map.message.filter(m => typeof m === 'string') : null;
11
+ return {
12
+ token: token ?? null,
13
+ statusCode: statusCode ?? null,
14
+ error: error ?? null,
15
+ messages: messages && messages.length > 0 ? messages : null
16
+ };
17
+ }
18
+ export const token = d => d?.token ?? null;
19
+ export const hasToken = d => !!(d?.token && d.token.length > 0);
20
+ export const isValid = d => hasToken(d);
21
+ export const status = d => d?.statusCode ?? null;
22
+ export const error = d => d?.error ?? null;
23
+ export const messages = d => d?.messages ?? null;
24
+ export const hasError = d => !!(d?.error || d?.messages && d.messages.length > 0 || d?.statusCode);
25
+ //# sourceMappingURL=tokenModel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tokenResponseFromJson","json","map","token","length","statusCode","Number","error","messages","Array","isArray","message","filter","m","d","hasToken","isValid","status","hasError"],"sourceRoot":"../../../../src","sources":["data/models/tokenModel.ts"],"mappings":";;AAOA,OAAO,SAASA,qBAAqBA,CAACC,IAAS,EAAiB;EAC9D,MAAMC,GAAG,GAAG;IAAE,GAAID;EAA6B,CAAC;EAChD,MAAME,KAAK,GACT,OAAOD,GAAG,CAACC,KAAK,KAAK,QAAQ,IAAID,GAAG,CAACC,KAAK,CAACC,MAAM,GAAG,CAAC,GAAGF,GAAG,CAACC,KAAK,GAAG,IAAI;EAC1E,MAAME,UAAU,GACd,OAAOH,GAAG,CAACG,UAAU,KAAK,QAAQ,GAC9BH,GAAG,CAACG,UAAU,GACd,OAAOH,GAAG,CAACG,UAAU,KAAK,QAAQ,GAChCC,MAAM,CAACJ,GAAG,CAACG,UAAU,CAAC,GACtB,IAAI;EACZ,MAAME,KAAK,GACT,OAAOL,GAAG,CAACK,KAAK,KAAK,QAAQ,IAAIL,GAAG,CAACK,KAAK,CAACH,MAAM,GAAG,CAAC,GAAGF,GAAG,CAACK,KAAK,GAAG,IAAI;EAC1E,MAAMC,QAAQ,GAAGC,KAAK,CAACC,OAAO,CAACR,GAAG,CAACS,OAAO,CAAC,GACtCT,GAAG,CAACS,OAAO,CAACC,MAAM,CAAEC,CAAM,IAAK,OAAOA,CAAC,KAAK,QAAQ,CAAC,GACtD,IAAI;EACR,OAAO;IACLV,KAAK,EAAEA,KAAK,IAAI,IAAI;IACpBE,UAAU,EAAEA,UAAU,IAAI,IAAI;IAC9BE,KAAK,EAAEA,KAAK,IAAI,IAAI;IACpBC,QAAQ,EAAEA,QAAQ,IAAIA,QAAQ,CAACJ,MAAM,GAAG,CAAC,GAAGI,QAAQ,GAAG;EACzD,CAAC;AACH;AAEA,OAAO,MAAML,KAAK,GAAIW,CAAwB,IAC5CA,CAAC,EAAEX,KAAK,IAAI,IAAI;AAClB,OAAO,MAAMY,QAAQ,GAAID,CAAwB,IAC/C,CAAC,EAAEA,CAAC,EAAEX,KAAK,IAAIW,CAAC,CAACX,KAAK,CAACC,MAAM,GAAG,CAAC,CAAC;AACpC,OAAO,MAAMY,OAAO,GAAIF,CAAwB,IAAcC,QAAQ,CAACD,CAAC,CAAC;AACzE,OAAO,MAAMG,MAAM,GAAIH,CAAwB,IAC7CA,CAAC,EAAET,UAAU,IAAI,IAAI;AACvB,OAAO,MAAME,KAAK,GAAIO,CAAwB,IAC5CA,CAAC,EAAEP,KAAK,IAAI,IAAI;AAClB,OAAO,MAAMC,QAAQ,GAAIM,CAAwB,IAC/CA,CAAC,EAAEN,QAAQ,IAAI,IAAI;AACrB,OAAO,MAAMU,QAAQ,GAAIJ,CAAwB,IAC/C,CAAC,EAAEA,CAAC,EAAEP,KAAK,IAAKO,CAAC,EAAEN,QAAQ,IAAIM,CAAC,CAACN,QAAQ,CAACJ,MAAM,GAAG,CAAE,IAAIU,CAAC,EAAET,UAAU,CAAC","ignoreList":[]}
@@ -18,8 +18,8 @@ export let Environment = /*#__PURE__*/function (Environment) {
18
18
  }({});
19
19
  export class ApiClient {
20
20
  static baseUrls = {
21
- [Environment.production]: 'https://....',
22
- [Environment.staging]: 'https://....'
21
+ [Environment.production]: 'https://devapi.saversapp.com/clo/v1/',
22
+ [Environment.staging]: 'https://devapi.saversapp.com/clo/v1/'
23
23
  };
24
24
  interceptors = [];
25
25
  constructor(environment = Environment.production) {
@@ -1 +1 @@
1
- {"version":3,"names":["logger","AuthInterceptor","RetryInterceptor","ErrorInterceptor","NetworkInterceptor","LoggingInterceptor","Environment","ApiClient","baseUrls","production","staging","interceptors","constructor","environment","baseUrl","get","endpoint","params","request","undefined","post","data","put","delete","method","url","buildUrl","options","headers","body","interceptor","onRequest","Error","response","fetch","JSON","stringify","responseData","json","responseObj","status","statusText","onResponse","error","handledError","onError","queryString","Object","keys","map","key","encodeURIComponent","join"],"sourceRoot":"../../../../src","sources":["data/network/apiClient.ts"],"mappings":";;AAAA;;AAEA;AACA,SAASA,MAAM,QAAQ,uBAAoB;;AAE3C;AACA,SAASC,eAAe,QAAQ,mCAAgC;AAChE,SAASC,gBAAgB,QAAQ,oCAAiC;AAClE,SAASC,gBAAgB,QAAQ,oCAAiC;AAClE,SAASC,kBAAkB,QAAQ,sCAAmC;AACtE,SAASC,kBAAkB,QAAQ,sCAAmC;AAEtE,WAAYC,WAAW,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA;AAKvB,OAAO,MAAMC,SAAS,CAAC;EACrB,OAAwBC,QAAQ,GAAgC;IAC9D,CAACF,WAAW,CAACG,UAAU,GAAG,cAAc;IACxC,CAACH,WAAW,CAACI,OAAO,GAAG;EACzB,CAAC;EAGOC,YAAY,GAAU,EAAE;EAEhCC,WAAWA,CAACC,WAAwB,GAAGP,WAAW,CAACG,UAAU,EAAE;IAC7D,IAAI,CAACK,OAAO,GAAGP,SAAS,CAACC,QAAQ,CAACK,WAAW,CAAC;IAE9C,IAAI,CAACF,YAAY,GAAG,CAClB,IAAIN,kBAAkB,CAAC,CAAC,EACxB,IAAID,kBAAkB,CAAC,CAAC,EACxB,IAAIH,eAAe,CAAC,CAAC,EACrB,IAAIC,gBAAgB,CAAC,CAAC,CAAC,EACvB,IAAIC,gBAAgB,CAAC,CAAC,CACvB;EACH;EAEA,MAAMY,GAAGA,CAACC,QAAgB,EAAEC,MAA4B,EAAgB;IACtE,OAAO,IAAI,CAACC,OAAO,CAAC,KAAK,EAAEF,QAAQ,EAAEG,SAAS,EAAEF,MAAM,CAAC;EACzD;EAEA,MAAMG,IAAIA,CACRJ,QAAgB,EAChBK,IAAU,EACVJ,MAA4B,EACd;IACd,OAAO,IAAI,CAACC,OAAO,CAAC,MAAM,EAAEF,QAAQ,EAAEK,IAAI,EAAEJ,MAAM,CAAC;EACrD;EAEA,MAAMK,GAAGA,CACPN,QAAgB,EAChBK,IAAU,EACVJ,MAA4B,EACd;IACd,OAAO,IAAI,CAACC,OAAO,CAAC,KAAK,EAAEF,QAAQ,EAAEK,IAAI,EAAEJ,MAAM,CAAC;EACpD;EAEA,MAAMM,MAAMA,CACVP,QAAgB,EAChBK,IAAU,EACVJ,MAA4B,EACd;IACd,OAAO,IAAI,CAACC,OAAO,CAAC,QAAQ,EAAEF,QAAQ,EAAEK,IAAI,EAAEJ,MAAM,CAAC;EACvD;EAEA,MAAcC,OAAOA,CACnBM,MAAc,EACdR,QAAgB,EAChBK,IAAU,EACVJ,MAA4B,EACd;IACd,MAAMQ,GAAG,GAAG,IAAI,CAACC,QAAQ,CAACV,QAAQ,EAAEC,MAAM,CAAC;IAC3C,IAAIU,OAAY,GAAG;MACjBH,MAAM;MACNC,GAAG;MACHG,OAAO,EAAE;QACP,cAAc,EAAE;MAClB,CAAC;MACDC,IAAI,EAAER,IAAI;MACVJ,MAAM,CAAE;IACV,CAAC;;IAED;IACA,KAAK,MAAMa,WAAW,IAAI,IAAI,CAACnB,YAAY,EAAE;MAC3C,IAAImB,WAAW,CAACC,SAAS,EAAE;QACzBJ,OAAO,GAAG,MAAMG,WAAW,CAACC,SAAS,CAACJ,OAAO,CAAC;QAC9C,IAAI,CAACA,OAAO,EAAE,MAAM,IAAIK,KAAK,CAAC,6BAA6B,CAAC;MAC9D;IACF;IAEA,IAAI;MACF,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAACP,OAAO,CAACF,GAAG,EAAE;QACxCD,MAAM,EAAEG,OAAO,CAACH,MAAM;QACtBI,OAAO,EAAED,OAAO,CAACC,OAAO;QACxBC,IAAI,EAAEF,OAAO,CAACE,IAAI,GAAGM,IAAI,CAACC,SAAS,CAACT,OAAO,CAACE,IAAI,CAAC,GAAGV;MACtD,CAAC,CAAC;MAEF,IAAIkB,YAAiB,GAAG,IAAI;MAC5B,IAAI;QACFA,YAAY,GAAG,MAAMJ,QAAQ,CAACK,IAAI,CAAC,CAAC;MACtC,CAAC,CAAC,MAAM;QACN;MAAA;;MAGF;MACA,IAAIC,WAAW,GAAG;QAChBlB,IAAI,EAAEgB,YAAY;QAClBG,MAAM,EAAEP,QAAQ,CAACO,MAAM;QACvBC,UAAU,EAAER,QAAQ,CAACQ;MACvB,CAAC;MAED,KAAK,MAAMX,WAAW,IAAI,IAAI,CAACnB,YAAY,EAAE;QAC3C,IAAImB,WAAW,CAACY,UAAU,EAAE;UAC1BH,WAAW,GAAG,MAAMT,WAAW,CAACY,UAAU,CAACH,WAAW,CAAC;QACzD;MACF;MAEA,OAAOA,WAAW;IACpB,CAAC,CAAC,OAAOI,KAAK,EAAE;MACd;MACA3C,MAAM,CAAC2C,KAAK,CAAC,oBAAoB,EAAEA,KAAK,CAAC;MACzC,MAAMC,YAAY,GAAGD,KAAK;MAC1B,KAAK,MAAMb,WAAW,IAAI,IAAI,CAACnB,YAAY,EAAE;QAC3C,IAAImB,WAAW,CAACe,OAAO,EAAE;UACvB;UACA;QAAA;MAEJ;MACA,MAAMD,YAAY;IACpB;EACF;EAEQlB,QAAQA,CAACV,QAAgB,EAAEC,MAA4B,EAAU;IACvE,IAAIQ,GAAG,GAAG,GAAG,IAAI,CAACX,OAAO,GAAGE,QAAQ,EAAE;IACtC,IAAIC,MAAM,EAAE;MACV,MAAM6B,WAAW,GAAGC,MAAM,CAACC,IAAI,CAAC/B,MAAM,CAAC,CACpCgC,GAAG,CACDC,GAAG,IAAK,GAAGC,kBAAkB,CAACD,GAAG,CAAC,IAAIC,kBAAkB,CAAClC,MAAM,CAACiC,GAAG,CAAC,CAAC,EACxE,CAAC,CACAE,IAAI,CAAC,GAAG,CAAC;MACZ,IAAIN,WAAW,EAAE;QACfrB,GAAG,IAAI,IAAIqB,WAAW,EAAE;MAC1B;IACF;IACA,OAAOrB,GAAG;EACZ;AACF","ignoreList":[]}
1
+ {"version":3,"names":["logger","AuthInterceptor","RetryInterceptor","ErrorInterceptor","NetworkInterceptor","LoggingInterceptor","Environment","ApiClient","baseUrls","production","staging","interceptors","constructor","environment","baseUrl","get","endpoint","params","request","undefined","post","data","put","delete","method","url","buildUrl","options","headers","body","interceptor","onRequest","Error","response","fetch","JSON","stringify","responseData","json","responseObj","status","statusText","onResponse","error","handledError","onError","queryString","Object","keys","map","key","encodeURIComponent","join"],"sourceRoot":"../../../../src","sources":["data/network/apiClient.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  export const ApiEndpoints = {
4
- onboarding: '/on-boarding/listings'
4
+ onboarding: 'on-boarding/listings',
5
+ get_nonce: 'sys/sys/c/s/t'
5
6
  };
6
7
  //# sourceMappingURL=apiEndpoints.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["ApiEndpoints","onboarding"],"sourceRoot":"../../../../src","sources":["data/network/apiEndpoints.ts"],"mappings":";;AAAA,OAAO,MAAMA,YAAY,GAAG;EAC1BC,UAAU,EAAE;AACd,CAAU","ignoreList":[]}
1
+ {"version":3,"names":["ApiEndpoints","onboarding","get_nonce"],"sourceRoot":"../../../../src","sources":["data/network/apiEndpoints.ts"],"mappings":";;AAAA,OAAO,MAAMA,YAAY,GAAG;EAC1BC,UAAU,EAAE,sBAAsB;EAClCC,SAAS,EAAE;AACb,CAAU","ignoreList":[]}
@@ -21,13 +21,17 @@ export class ApiRepository {
21
21
  }
22
22
  async *getData(endpoint, opts) {
23
23
  const cacheStrategy = opts?.cacheStrategy ?? CacheStrategy.normal;
24
- const cacheKey = (opts?.storageKeyPrefix ?? '') + endpoint + JSON.stringify(opts?.params ?? {});
24
+ const cacheKey = (opts?.storageKeyPrefix ?? '') + endpoint + JSON.stringify({
25
+ params: opts?.params ?? {},
26
+ method: opts?.method ?? 'GET',
27
+ body: opts?.body ?? null
28
+ });
25
29
  if (cacheStrategy === CacheStrategy.cache) {
26
30
  const cached = await storageGet(cacheKey);
27
31
  if (cached !== null && cached !== undefined) {
28
32
  yield apiSuccess(cached, 'Data fetched from cache', true);
29
33
  } else {
30
- const res = await this.fetchFromNetwork(endpoint, opts?.params, cacheKey);
34
+ const res = await this.fetchFromNetwork(endpoint, opts?.params, cacheKey, opts?.method, opts?.body);
31
35
  yield res;
32
36
  }
33
37
  return;
@@ -42,7 +46,7 @@ export class ApiRepository {
42
46
  return;
43
47
  }
44
48
  if (cacheStrategy === CacheStrategy.network) {
45
- const res = await this.fetchFromNetwork(endpoint, opts?.params, cacheKey);
49
+ const res = await this.fetchFromNetwork(endpoint, opts?.params, cacheKey, opts?.method, opts?.body);
46
50
  yield res;
47
51
  return;
48
52
  }
@@ -50,12 +54,22 @@ export class ApiRepository {
50
54
  if (cached !== null && cached !== undefined) {
51
55
  yield apiSuccess(cached, 'Data fetched from cache', true);
52
56
  }
53
- const res = await this.fetchFromNetwork(endpoint, opts?.params, cacheKey);
57
+ const res = await this.fetchFromNetwork(endpoint, opts?.params, cacheKey, opts?.method, opts?.body);
54
58
  yield res;
55
59
  }
56
- async fetchFromNetwork(endpoint, params, cacheKey) {
60
+ async fetchFromNetwork(endpoint, params, cacheKey, method, body) {
57
61
  try {
58
- const response = await this.apiClient.get(endpoint, params);
62
+ const m = (method || 'GET').toUpperCase();
63
+ let response;
64
+ if (m === 'POST') {
65
+ response = await this.apiClient.post(endpoint, body, params);
66
+ } else if (m === 'PUT') {
67
+ response = await this.apiClient.put(endpoint, body, params);
68
+ } else if (m === 'DELETE') {
69
+ response = await this.apiClient.delete(endpoint, body, params);
70
+ } else {
71
+ response = await this.apiClient.get(endpoint, params);
72
+ }
59
73
  const data = response?.data ?? null;
60
74
  const message = response?.message ?? response?.statusText ?? 'No message';
61
75
  if (data !== null && cacheKey) {
@@ -1 +1 @@
1
- {"version":3,"names":["apiError","apiSuccess","get","storageGet","save","storageSave","CacheStrategy","ApiRepository","constructor","apiClient","getData","endpoint","opts","cacheStrategy","normal","cacheKey","storageKeyPrefix","JSON","stringify","params","cache","cached","undefined","res","fetchFromNetwork","cacheOnly","network","response","data","message","statusText","e"],"sourceRoot":"../../../../src","sources":["data/network/apiRepository.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["apiError","apiSuccess","get","storageGet","save","storageSave","CacheStrategy","ApiRepository","constructor","apiClient","getData","endpoint","opts","cacheStrategy","normal","cacheKey","storageKeyPrefix","JSON","stringify","params","method","body","cache","cached","undefined","res","fetchFromNetwork","cacheOnly","network","m","toUpperCase","response","post","put","delete","data","message","statusText","e"],"sourceRoot":"../../../../src","sources":["data/network/apiRepository.ts"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ import { logger } from "../../utils/logger.js";
6
6
  // Types / Models
7
7
 
8
8
  import { onBoardingDataFromJson } from "../models/onboardingModel.js";
9
+ import { tokenResponseFromJson } from "../models/tokenModel.js";
9
10
 
10
11
  // Storage
11
12
  import { clearAll as storageClearAll } from "../storage/storageManager.js";
@@ -54,6 +55,41 @@ export class ApiService {
54
55
  }
55
56
  }
56
57
  }
58
+ async *getNonce({
59
+ cacheStrategy = CacheStrategy.network,
60
+ extUserId = '',
61
+ partnerCode = ''
62
+ }) {
63
+ const generator = this.repository.getData(ApiEndpoints.get_nonce, {
64
+ cacheStrategy,
65
+ method: 'POST',
66
+ body: {
67
+ extUserId,
68
+ partnerCode
69
+ }
70
+ });
71
+ for await (const response of generator) {
72
+ if (response.data) {
73
+ try {
74
+ yield tokenResponseFromJson(response.data);
75
+ } catch (e) {
76
+ yield {
77
+ token: null,
78
+ statusCode: null,
79
+ error: `Failed to parse nonce: ${e}`,
80
+ messages: null
81
+ };
82
+ }
83
+ } else {
84
+ yield {
85
+ token: null,
86
+ statusCode: null,
87
+ error: response.message ?? 'Failed to load nonce',
88
+ messages: null
89
+ };
90
+ }
91
+ }
92
+ }
57
93
 
58
94
  /**
59
95
  * Clear all cached data
@@ -1 +1 @@
1
- {"version":3,"names":["logger","onBoardingDataFromJson","clearAll","storageClearAll","ApiEndpoints","ApiRepository","CacheStrategy","Environment","ApiClient","ApiService","constructor","environment","production","apiClient","repository","info","getOnBoarding","opts","generator","getData","onboarding","cacheStrategy","normal","response","status","data","parsedData","e","message","fromCache","clearCache"],"sourceRoot":"../../../../src","sources":["data/network/apiService.ts"],"mappings":";;AAAA;AACA,SAASA,MAAM,QAAQ,uBAAoB;;AAE3C;;AAEA,SAEEC,sBAAsB,QACjB,8BAA2B;;AAElC;AACA,SAASC,QAAQ,IAAIC,eAAe,QAAQ,8BAA2B;;AAEvE;AACA,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,aAAa,EAAEC,aAAa,QAAQ,oBAAiB;AAC9D,SAASC,WAAW,EAAEC,SAAS,QAAQ,gBAAa;AAEpD,OAAO,MAAMC,UAAU,CAAC;EAGtBC,WAAWA,CAACC,WAAwB,GAAGJ,WAAW,CAACK,UAAU,EAAE;IAC7D,MAAMC,SAAS,GAAG,IAAIL,SAAS,CAACG,WAAW,CAAC;IAC5C,IAAI,CAACG,UAAU,GAAG,IAAIT,aAAa,CAACQ,SAAS,CAAC;IAC9Cb,MAAM,CAACe,IAAI,CAAC,4CAA4CJ,WAAW,EAAE,CAAC;EACxE;;EAEA;AACF;AACA;EACE,OAAOK,aAAaA,CAACC,IAEpB,EAAqE;IACpE,MAAMC,SAAS,GAAG,IAAI,CAACJ,UAAU,CAACK,OAAO,CAAMf,YAAY,CAACgB,UAAU,EAAE;MACtEC,aAAa,EAAEJ,IAAI,EAAEI,aAAa,IAAIf,aAAa,CAACgB;IACtD,CAAC,CAAC;IAEF,WAAW,MAAMC,QAAQ,IAAIL,SAAS,EAAE;MACtC,IAAIK,QAAQ,CAACC,MAAM,KAAK,IAAI,IAAID,QAAQ,CAACE,IAAI,EAAE;QAC7C,IAAI;UACF,MAAMC,UAAU,GAAGzB,sBAAsB,CAACsB,QAAQ,CAACE,IAAI,CAAC;UACxD,MAAM;YACJ,GAAGF,QAAQ;YACXE,IAAI,EAAEC;UACR,CAAC;QACH,CAAC,CAAC,OAAOC,CAAC,EAAE;UACV,MAAM;YACJH,MAAM,EAAE,KAAK;YACbI,OAAO,EAAE,oCAAoCD,CAAC,EAAE;YAChDF,IAAI,EAAE,IAAI;YACVI,SAAS,EAAEN,QAAQ,CAACM;UACtB,CAAC;QACH;MACF,CAAC,MAAM;QACL,MAAM;UACJL,MAAM,EAAE,KAAK;UACbI,OAAO,EAAEL,QAAQ,CAACK,OAAO,IAAI,gCAAgC;UAC7DH,IAAI,EAAE,IAAI;UACVI,SAAS,EAAEN,QAAQ,CAACM;QACtB,CAAC;MACH;IACF;EACF;;EAEA;AACF;AACA;EACE,MAAMC,UAAUA,CAAA,EAAkB;IAChC,MAAM3B,eAAe,CAAC,CAAC;IACvBH,MAAM,CAACe,IAAI,CAAC,eAAe,CAAC;EAC9B;AACF","ignoreList":[]}
1
+ {"version":3,"names":["logger","onBoardingDataFromJson","tokenResponseFromJson","clearAll","storageClearAll","ApiEndpoints","ApiRepository","CacheStrategy","Environment","ApiClient","ApiService","constructor","environment","production","apiClient","repository","info","getOnBoarding","opts","generator","getData","onboarding","cacheStrategy","normal","response","status","data","parsedData","e","message","fromCache","getNonce","network","extUserId","partnerCode","get_nonce","method","body","token","statusCode","error","messages","clearCache"],"sourceRoot":"../../../../src","sources":["data/network/apiService.ts"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@
5
5
  // Utilities
6
6
  import { logger } from "../../../utils/logger.js";
7
7
  export class AuthInterceptor {
8
+ static xApiKey = 'x-api-key';
8
9
  static oauthSubIdKey = 'oauthSubId';
9
10
  static bodyMethods = new Set(['POST', 'PUT', 'PATCH']);
10
11
  static excludedApis = new Set();
@@ -13,6 +14,7 @@ export class AuthInterceptor {
13
14
  if (this.shouldExcludeApi(options.url)) {
14
15
  return options;
15
16
  }
17
+ this.addApiKeyHeader(options, AuthInterceptor.xApiKey, '3xqpYp6CPn899166YXbEB1YLJIhfdj08BbCdfQdg');
16
18
  const userId = await this.getCurrentUserId();
17
19
  if (userId) {
18
20
  this.addAuthenticationData(options, userId);
@@ -45,6 +47,10 @@ export class AuthInterceptor {
45
47
  options.body[AuthInterceptor.oauthSubIdKey] = userId;
46
48
  }
47
49
  }
50
+ addApiKeyHeader(options, key, value) {
51
+ options.headers = options.headers || {};
52
+ options.headers[key] = value;
53
+ }
48
54
  shouldExcludeApi(apiPath) {
49
55
  if (!apiPath) return false;
50
56
  for (const excludedPath of AuthInterceptor.excludedApis) {
@@ -56,9 +62,6 @@ export class AuthInterceptor {
56
62
  }
57
63
  async getCurrentUserId() {
58
64
  try {
59
- // Placeholder for Keycloak integration
60
- // const currentUser = KeycloakWebViewManager.instance.currentUser;
61
- // return currentUser?.email;
62
65
  return null;
63
66
  } catch (e) {
64
67
  logger.error('Failed to get current user ID:', e);
@@ -1 +1 @@
1
- {"version":3,"names":["logger","AuthInterceptor","oauthSubIdKey","bodyMethods","Set","excludedApis","onRequest","options","shouldExcludeApi","url","userId","getCurrentUserId","addAuthenticationData","e","error","method","toUpperCase","has","addToQueryParametersAndBody","addToQueryParameters","params","addToRequestBody","body","FormData","append","apiPath","excludedPath","includes"],"sourceRoot":"../../../../../src","sources":["data/network/interceptors/authInterceptor.ts"],"mappings":";;AAAA;;AAEA;AACA,SAASA,MAAM,QAAQ,0BAAuB;AAE9C,OAAO,MAAMC,eAAe,CAAC;EAC3B,OAAwBC,aAAa,GAAG,YAAY;EACpD,OAAwBC,WAAW,GAAG,IAAIC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;EACvE,OAAwBC,YAAY,GAAG,IAAID,GAAG,CAAS,CAAC;EAExD,MAAME,SAASA,CAACC,OAAY,EAAgB;IAC1C,IAAI;MACF,IAAI,IAAI,CAACC,gBAAgB,CAACD,OAAO,CAACE,GAAG,CAAC,EAAE;QACtC,OAAOF,OAAO;MAChB;MAEA,MAAMG,MAAM,GAAG,MAAM,IAAI,CAACC,gBAAgB,CAAC,CAAC;MAC5C,IAAID,MAAM,EAAE;QACV,IAAI,CAACE,qBAAqB,CAACL,OAAO,EAAEG,MAAM,CAAC;MAC7C;IACF,CAAC,CAAC,OAAOG,CAAC,EAAE;MACVb,MAAM,CAACc,KAAK,CAAC,wBAAwB,EAAED,CAAC,CAAC;IAC3C;IAEA,OAAON,OAAO;EAChB;EAEQK,qBAAqBA,CAACL,OAAY,EAAEG,MAAc,EAAE;IAC1D,MAAMK,MAAM,GAAG,CAACR,OAAO,CAACQ,MAAM,IAAI,KAAK,EAAEC,WAAW,CAAC,CAAC;IAEtD,IAAIf,eAAe,CAACE,WAAW,CAACc,GAAG,CAACF,MAAM,CAAC,EAAE;MAC3C,IAAI,CAACG,2BAA2B,CAACX,OAAO,EAAEG,MAAM,CAAC;IACnD,CAAC,MAAM;MACL,IAAI,CAACS,oBAAoB,CAACZ,OAAO,EAAEG,MAAM,CAAC;IAC5C;EACF;EAEQS,oBAAoBA,CAACZ,OAAY,EAAEG,MAAc,EAAE;IACzDH,OAAO,CAACa,MAAM,GAAGb,OAAO,CAACa,MAAM,IAAI,CAAC,CAAC;IACrCb,OAAO,CAACa,MAAM,CAACnB,eAAe,CAACC,aAAa,CAAC,GAAGQ,MAAM;EACxD;EAEQQ,2BAA2BA,CAACX,OAAY,EAAEG,MAAc,EAAE;IAChE,IAAI,CAACS,oBAAoB,CAACZ,OAAO,EAAEG,MAAM,CAAC;IAC1C,IAAI,CAACW,gBAAgB,CAACd,OAAO,EAAEG,MAAM,CAAC;EACxC;EAEQW,gBAAgBA,CAACd,OAAY,EAAEG,MAAc,EAAE;IACrD,IAAIH,OAAO,CAACe,IAAI,YAAYC,QAAQ,EAAE;MACpChB,OAAO,CAACe,IAAI,CAACE,MAAM,CAACvB,eAAe,CAACC,aAAa,EAAEQ,MAAM,CAAC;IAC5D,CAAC,MAAM,IAAI,OAAOH,OAAO,CAACe,IAAI,KAAK,QAAQ,IAAIf,OAAO,CAACe,IAAI,KAAK,IAAI,EAAE;MACpEf,OAAO,CAACe,IAAI,CAACrB,eAAe,CAACC,aAAa,CAAC,GAAGQ,MAAM;IACtD;EACF;EAEQF,gBAAgBA,CAACiB,OAAe,EAAW;IACjD,IAAI,CAACA,OAAO,EAAE,OAAO,KAAK;IAC1B,KAAK,MAAMC,YAAY,IAAIzB,eAAe,CAACI,YAAY,EAAE;MACvD,IAAIoB,OAAO,CAACE,QAAQ,CAACD,YAAY,CAAC,EAAE;QAClC,OAAO,IAAI;MACb;IACF;IACA,OAAO,KAAK;EACd;EAEA,MAAcf,gBAAgBA,CAAA,EAA2B;IACvD,IAAI;MACF;MACA;MACA;MACA,OAAO,IAAI;IACb,CAAC,CAAC,OAAOE,CAAC,EAAE;MACVb,MAAM,CAACc,KAAK,CAAC,gCAAgC,EAAED,CAAC,CAAC;MACjD,OAAO,IAAI;IACb;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["logger","AuthInterceptor","xApiKey","oauthSubIdKey","bodyMethods","Set","excludedApis","onRequest","options","shouldExcludeApi","url","addApiKeyHeader","userId","getCurrentUserId","addAuthenticationData","e","error","method","toUpperCase","has","addToQueryParametersAndBody","addToQueryParameters","params","addToRequestBody","body","FormData","append","key","value","headers","apiPath","excludedPath","includes"],"sourceRoot":"../../../../../src","sources":["data/network/interceptors/authInterceptor.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ class ReactRefManager {
4
+ ref = null;
5
+ setRef(ref) {
6
+ this.ref = ref;
7
+ }
8
+ getRef() {
9
+ return this.ref;
10
+ }
11
+ }
12
+ export const reactRefManager = new ReactRefManager();
13
+ export const setReactRef = async ref => {
14
+ reactRefManager.setRef(ref);
15
+ };
16
+ export async function getReactRef() {
17
+ return reactRefManager.getRef();
18
+ }
19
+ export function getReactRefSync() {
20
+ return reactRefManager.getRef();
21
+ }
22
+ //# sourceMappingURL=reactRefManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ReactRefManager","ref","setRef","getRef","reactRefManager","setReactRef","getReactRef","getReactRefSync"],"sourceRoot":"../../../../src","sources":["data/storage/reactRefManager.ts"],"mappings":";;AAAA,MAAMA,eAAe,CAAC;EACZC,GAAG,GAAe,IAAI;EAE9BC,MAAMA,CAACD,GAAQ,EAAQ;IACrB,IAAI,CAACA,GAAG,GAAGA,GAAG;EAChB;EAEAE,MAAMA,CAAA,EAAe;IACnB,OAAO,IAAI,CAACF,GAAG;EACjB;AACF;AAEA,OAAO,MAAMG,eAAe,GAAG,IAAIJ,eAAe,CAAC,CAAC;AAEpD,OAAO,MAAMK,WAAW,GAAG,MAAOJ,GAAQ,IAAoB;EAC5DG,eAAe,CAACF,MAAM,CAACD,GAAG,CAAC;AAC7B,CAAC;AAED,OAAO,eAAeK,WAAWA,CAAA,EAAwB;EACvD,OAAOF,eAAe,CAACD,MAAM,CAAC,CAAC;AACjC;AAEA,OAAO,SAASI,eAAeA,CAAA,EAAe;EAC5C,OAAOH,eAAe,CAACD,MAAM,CAAC,CAAC;AACjC","ignoreList":[]}
@@ -2,14 +2,12 @@
2
2
 
3
3
  // React Native Core
4
4
  import { BackHandler, Platform } from 'react-native';
5
- let goBackFn = null;
6
- export function setGoBackImpl(fn) {
7
- goBackFn = fn;
8
- }
5
+ import { getReactRefSync } from "../../data/storage/reactRefManager.js";
9
6
  export function closeCurrentScreen() {
10
- try {
11
- if (goBackFn) return !!goBackFn();
12
- } catch {}
7
+ if (getReactRefSync().isReady() && getReactRefSync().canGoBack()) {
8
+ getReactRefSync().goBack();
9
+ return true;
10
+ }
13
11
  return false;
14
12
  }
15
13
  export function closeCurrentScreenSafe() {
@@ -1 +1 @@
1
- {"version":3,"names":["BackHandler","Platform","goBackFn","setGoBackImpl","fn","closeCurrentScreen","closeCurrentScreenSafe","closed","OS","exitApp"],"sourceRoot":"../../../../src","sources":["services/navigation/goBackNavigation.ts"],"mappings":";;AAAA;AACA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,cAAc;AAEpD,IAAIC,QAAgC,GAAG,IAAI;AAC3C,OAAO,SAASC,aAAaA,CAACC,EAAiB,EAAE;EAC/CF,QAAQ,GAAGE,EAAE;AACf;AAEA,OAAO,SAASC,kBAAkBA,CAAA,EAAY;EAC5C,IAAI;IACF,IAAIH,QAAQ,EAAE,OAAO,CAAC,CAACA,QAAQ,CAAC,CAAC;EACnC,CAAC,CAAC,MAAM,CAAC;EACT,OAAO,KAAK;AACd;AAEA,OAAO,SAASI,sBAAsBA,CAAA,EAAS;EAC7C,MAAMC,MAAM,GAAGF,kBAAkB,CAAC,CAAC;EACnC,IAAI,CAACE,MAAM,IAAIN,QAAQ,CAACO,EAAE,KAAK,SAAS,EAAE;IACxCR,WAAW,CAACS,OAAO,CAAC,CAAC;EACvB;AACF","ignoreList":[]}
1
+ {"version":3,"names":["BackHandler","Platform","getReactRefSync","closeCurrentScreen","isReady","canGoBack","goBack","closeCurrentScreenSafe","closed","OS","exitApp"],"sourceRoot":"../../../../src","sources":["services/navigation/goBackNavigation.ts"],"mappings":";;AAAA;AACA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,cAAc;AACpD,SAASC,eAAe,QAAQ,uCAAoC;AAEpE,OAAO,SAASC,kBAAkBA,CAAA,EAAY;EAC5C,IAAID,eAAe,CAAC,CAAC,CAACE,OAAO,CAAC,CAAC,IAAIF,eAAe,CAAC,CAAC,CAACG,SAAS,CAAC,CAAC,EAAE;IAChEH,eAAe,CAAC,CAAC,CAACI,MAAM,CAAC,CAAC;IAC1B,OAAO,IAAI;EACb;EAEA,OAAO,KAAK;AACd;AAEA,OAAO,SAASC,sBAAsBA,CAAA,EAAS;EAC7C,MAAMC,MAAM,GAAGL,kBAAkB,CAAC,CAAC;EACnC,IAAI,CAACK,MAAM,IAAIP,QAAQ,CAACQ,EAAE,KAAK,SAAS,EAAE;IACxCT,WAAW,CAACU,OAAO,CAAC,CAAC;EACvB;AACF","ignoreList":[]}
@@ -9,12 +9,14 @@ import { getDeviceId } from "../../data/storage/deviceIdManager.js";
9
9
  import { getSessionId } from "../../data/storage/sessionManager.js";
10
10
  import { getLocationCoordinates } from "../../data/storage/locationManager.js";
11
11
  import { getEncryptionKey, getPRefCode } from "../../data/storage/keysManager.js";
12
+ import { getBaseUrl } from "../../utils/config.js";
12
13
  export function validateInput(input) {
13
14
  const errors = [];
14
15
  const auth = input.authType ?? 'PHONE';
15
16
  if (!input.profile) errors.push('profile is mandatory');
16
17
  if (!input.profile?.userId) errors.push('userId is mandatory');
17
18
  if (!input.profile?.email) errors.push('email is mandatory');
19
+ if (!input.nonce) errors.push('nonce is mandatory');
18
20
  const pv = input.profile?.pv;
19
21
  const ev = input.profile?.ev;
20
22
  if (typeof pv !== 'undefined' && pv !== '0' && pv !== '1') {
@@ -57,7 +59,8 @@ export async function generateUrl(input) {
57
59
  screen: input.screen,
58
60
  authType: input.authType ?? 'PHONE',
59
61
  sessionId: sessionId ?? '',
60
- deviceInfo
62
+ deviceInfo,
63
+ nonce: input.nonce
61
64
  };
62
65
  const validation = validateInput({
63
66
  ...normalized,
@@ -73,7 +76,8 @@ export async function generateUrl(input) {
73
76
  profile: normalized.profile,
74
77
  authType: normalized.authType,
75
78
  deviceInfo: normalized.deviceInfo,
76
- sessionId: normalized.sessionId
79
+ sessionId: normalized.sessionId,
80
+ nonce: normalized.nonce
77
81
  };
78
82
  const json = JSON.stringify(payload);
79
83
  const key = await getEncryptionKey();
@@ -85,6 +89,6 @@ export async function generateUrl(input) {
85
89
  if (!programCode || programCode === '-') {
86
90
  throw new SDKError('pRefCode is mandatory. Initialize SDK with pRefCode.');
87
91
  }
88
- return `https://m.saversapp.com/?pRefCode=${encodeURIComponent(programCode)}&qP=${encodeURIComponent(encoded)}`;
92
+ return `${getBaseUrl()}?pRefCode=${encodeURIComponent(programCode)}&qP=${encodeURIComponent(encoded)}`;
89
93
  }
90
94
  //# sourceMappingURL=urlGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SDKError","aesEncrypt","getDeviceId","getSessionId","getLocationCoordinates","getEncryptionKey","getPRefCode","validateInput","input","errors","auth","authType","profile","push","userId","email","pv","ev","username","phone","screenName","screen","name","attrs","attributes","length","ok","generateUrl","deviceId","storedLocation","sessionId","deviceInfo","dId","location","normalized","validation","join","payload","json","JSON","stringify","key","encoded","programCode","encodeURIComponent"],"sourceRoot":"../../../../src","sources":["services/url/urlGenerator.ts"],"mappings":";;AAAA;AACA,SAASA,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,UAAU,QAAQ,2BAAwB;;AAEnD;AACA,SAASC,WAAW,QAAQ,uCAAoC;AAChE,SAASC,YAAY,QAAQ,sCAAmC;AAChE,SAASC,sBAAsB,QAAQ,uCAAoC;AAC3E,SAASC,gBAAgB,EAAEC,WAAW,QAAQ,mCAAgC;AA+B9E,OAAO,SAASC,aAAaA,CAACC,KAAe,EAG3C;EACA,MAAMC,MAAgB,GAAG,EAAE;EAC3B,MAAMC,IAAI,GAAGF,KAAK,CAACG,QAAQ,IAAI,OAAO;EACtC,IAAI,CAACH,KAAK,CAACI,OAAO,EAAEH,MAAM,CAACI,IAAI,CAAC,sBAAsB,CAAC;EACvD,IAAI,CAACL,KAAK,CAACI,OAAO,EAAEE,MAAM,EAAEL,MAAM,CAACI,IAAI,CAAC,qBAAqB,CAAC;EAC9D,IAAI,CAACL,KAAK,CAACI,OAAO,EAAEG,KAAK,EAAEN,MAAM,CAACI,IAAI,CAAC,oBAAoB,CAAC;EAC5D,MAAMG,EAAE,GAAGR,KAAK,CAACI,OAAO,EAAEI,EAAE;EAC5B,MAAMC,EAAE,GAAGT,KAAK,CAACI,OAAO,EAAEK,EAAE;EAC5B,IAAI,OAAOD,EAAE,KAAK,WAAW,IAAIA,EAAE,KAAK,GAAG,IAAIA,EAAE,KAAK,GAAG,EAAE;IACzDP,MAAM,CAACI,IAAI,CAAC,mBAAmB,CAAC;EAClC;EACA,IAAI,OAAOI,EAAE,KAAK,WAAW,IAAIA,EAAE,KAAK,GAAG,IAAIA,EAAE,KAAK,GAAG,EAAE;IACzDR,MAAM,CAACI,IAAI,CAAC,mBAAmB,CAAC;EAClC;EACA,IAAI,CAACH,IAAI,EAAED,MAAM,CAACI,IAAI,CAAC,uBAAuB,CAAC;EAE/C,IAAIH,IAAI,KAAK,UAAU,IAAI,CAACF,KAAK,CAACI,OAAO,EAAEM,QAAQ,EAAE;IACnDT,MAAM,CAACI,IAAI,CAAC,6CAA6C,CAAC;EAC5D;EACA,IAAIH,IAAI,KAAK,OAAO,IAAI,CAACF,KAAK,CAACI,OAAO,EAAEO,KAAK,EAAE;IAC7CV,MAAM,CAACI,IAAI,CAAC,uCAAuC,CAAC;EACtD;EAEA,MAAMO,UAAU,GAAGZ,KAAK,CAACa,MAAM,EAAEC,IAAI;EACrC,IAAIF,UAAU,KAAK,YAAY,EAAE;IAC/B,MAAMG,KAAK,GAAGf,KAAK,CAACa,MAAM,EAAEG,UAAU,IAAI,EAAE;IAC5C,IAAI,CAACD,KAAK,CAACE,MAAM,EAAE;MACjBhB,MAAM,CAACI,IAAI,CACT,+DACF,CAAC;IACH;EACF;EAEA,OAAO;IAAEa,EAAE,EAAEjB,MAAM,CAACgB,MAAM,KAAK,CAAC;IAAEhB;EAAO,CAAC;AAC5C;AAEA,OAAO,eAAekB,WAAWA,CAACnB,KAAe,EAAmB;EAClE,MAAMoB,QAAQ,GAAG,MAAM1B,WAAW,CAAC,CAAC;EACpC,MAAM2B,cAAc,GAAG,MAAMzB,sBAAsB,CAAC,CAAC;EACrD,MAAM0B,SAAS,GAAG,MAAM3B,YAAY,CAAC,CAAC;EAEtC,MAAM4B,UAAsB,GAC1BF,cAAc,IAAI,IAAI,GAClB;IAAEG,GAAG,EAAEJ,QAAQ;IAAEK,QAAQ,EAAEJ;EAAe,CAAC,GAC3C;IAAEG,GAAG,EAAEJ;EAAS,CAAC;EAEvB,MAAMM,UAGH,GAAG;IACJtB,OAAO,EAAEJ,KAAK,CAACI,OAAO;IACtBS,MAAM,EAAEb,KAAK,CAACa,MAAM;IACpBV,QAAQ,EAAEH,KAAK,CAACG,QAAQ,IAAI,OAAO;IACnCmB,SAAS,EAAEA,SAAS,IAAI,EAAE;IAC1BC;EACF,CAAC;EAED,MAAMI,UAAU,GAAG5B,aAAa,CAAC;IAC/B,GAAG2B,UAAU;IACbH,UAAU,EAAEG,UAAU,CAACH;EACzB,CAAC,CAAC;EACF,IAAI,CAACI,UAAU,CAACT,EAAE,EAAE;IAClB,MAAM,IAAI1B,QAAQ,CAAC,sBAAsBmC,UAAU,CAAC1B,MAAM,CAAC2B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;EAC1E;EAEA,MAAMC,OAAO,GAAG;IACdhB,MAAM,EAAEa,UAAU,CAACb,MAAM,IAAI;MAAEC,IAAI,EAAE;IAAU,CAAC;IAChDV,OAAO,EAAEsB,UAAU,CAACtB,OAAO;IAC3BD,QAAQ,EAAEuB,UAAU,CAACvB,QAAQ;IAC7BoB,UAAU,EAAEG,UAAU,CAACH,UAAU;IACjCD,SAAS,EAAEI,UAAU,CAACJ;EACxB,CAAC;EAED,MAAMQ,IAAI,GAAGC,IAAI,CAACC,SAAS,CAACH,OAAO,CAAC;EACpC,MAAMI,GAAG,GAAG,MAAMpC,gBAAgB,CAAC,CAAC;EACpC,IAAI,CAACoC,GAAG,IAAIA,GAAG,KAAK,GAAG,EAAE;IACvB,MAAM,IAAIzC,QAAQ,CAChB,iEACF,CAAC;EACH;EACA,MAAM0C,OAAO,GAAG,MAAMzC,UAAU,CAACqC,IAAI,EAAEG,GAAG,CAAC;EAE3C,MAAME,WAAW,GAAG,MAAMrC,WAAW,CAAC,CAAC;EACvC,IAAI,CAACqC,WAAW,IAAIA,WAAW,KAAK,GAAG,EAAE;IACvC,MAAM,IAAI3C,QAAQ,CAAC,sDAAsD,CAAC;EAC5E;EACA,OAAO,qCAAqC4C,kBAAkB,CAC5DD,WACF,CAAC,OAAOC,kBAAkB,CAACF,OAAO,CAAC,EAAE;AACvC","ignoreList":[]}
1
+ {"version":3,"names":["SDKError","aesEncrypt","getDeviceId","getSessionId","getLocationCoordinates","getEncryptionKey","getPRefCode","getBaseUrl","validateInput","input","errors","auth","authType","profile","push","userId","email","nonce","pv","ev","username","phone","screenName","screen","name","attrs","attributes","length","ok","generateUrl","deviceId","storedLocation","sessionId","deviceInfo","dId","location","normalized","validation","join","payload","json","JSON","stringify","key","encoded","programCode","encodeURIComponent"],"sourceRoot":"../../../../src","sources":["services/url/urlGenerator.ts"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
 
3
- // Screens / SDKs / External packages
4
- import { openMap, openDialPad, openBrowser, closeCurrentScreenSafe, setSessionId } from '@savers_app/react-native-sdk';
3
+ import { openMap } from "../navigation/openMap.js";
4
+ import { openDialPad } from "../navigation/dialPad.js";
5
+ import { openBrowser } from "../navigation/openBrowser.js";
6
+ import { closeCurrentScreenSafe } from "../navigation/goBackNavigation.js";
7
+ import { setSessionId } from "../../data/storage/sessionManager.js";
5
8
  export function handleWebMessage(raw, postBack) {
6
9
  let msg;
7
10
  try {
@@ -1 +1 @@
1
- {"version":3,"names":["openMap","openDialPad","openBrowser","closeCurrentScreenSafe","setSessionId","handleWebMessage","raw","postBack","msg","JSON","parse","action","payload","reply","data","lat","lng","label","ok","number","url","sessionId","id","error","e","message","String"],"sourceRoot":"../../../../src","sources":["services/webview/messageHandler.ts"],"mappings":";;AAAA;AACA,SACEA,OAAO,EACPC,WAAW,EACXC,WAAW,EACXC,sBAAsB,EACtBC,YAAY,QACP,8BAA8B;AAErC,OAAO,SAASC,gBAAgBA,CAACC,GAAW,EAAEC,QAA8B,EAAE;EAC5E,IAAIC,GAAuC;EAC3C,IAAI;IACFA,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACJ,GAAG,CAAC;EACvB,CAAC,CAAC,MAAM;IACN;EACF;EACA,MAAMK,MAAM,GAAGH,GAAG,EAAEG,MAAM;EAC1B,MAAMC,OAAO,GAAGJ,GAAG,EAAEI,OAAO;EAE5B,MAAMC,KAAK,GAAIC,IAAS,IAAKP,QAAQ,GAAGO,IAAI,CAAC;EAE7C,CAAC,YAAY;IACX,IAAI;MACF,IAAIH,MAAM,KAAK,UAAU,EAAE;QACzB,MAAM;UAAEI,GAAG;UAAEC,GAAG;UAAEC;QAAM,CAAC,GAAGL,OAAO,IAAI,CAAC,CAAC;QACzC,MAAMZ,OAAO,CAACe,GAAG,EAAEC,GAAG,EAAEC,KAAK,CAAC;QAC9BJ,KAAK,CAAC;UAAEK,EAAE,EAAE,IAAI;UAAEP;QAAO,CAAC,CAAC;MAC7B,CAAC,MAAM,IAAIA,MAAM,KAAK,eAAe,EAAE;QACrC,MAAMV,WAAW,CAACW,OAAO,EAAEO,MAAM,CAAC;QAClCN,KAAK,CAAC;UAAEK,EAAE,EAAE,IAAI;UAAEP;QAAO,CAAC,CAAC;MAC7B,CAAC,MAAM,IAAIA,MAAM,KAAK,0BAA0B,EAAE;QAChD,MAAMT,WAAW,CAACU,OAAO,EAAEQ,GAAG,CAAC;QAC/BP,KAAK,CAAC;UAAEK,EAAE,EAAE,IAAI;UAAEP;QAAO,CAAC,CAAC;MAC7B,CAAC,MAAM,IAAIA,MAAM,KAAK,YAAY,EAAE;QAClC,MAAM;UAAEU;QAAU,CAAC,GAAGT,OAAO,IAAI,CAAC,CAAC;QACnC,MAAMU,EAAE,GAAG,MAAMlB,YAAY,CAACiB,SAAS,CAAC;QACxCR,KAAK,CAAC;UAAEK,EAAE,EAAE,IAAI;UAAEP,MAAM;UAAEU,SAAS,EAAEC;QAAG,CAAC,CAAC;MAC5C,CAAC,MAAM,IAAIX,MAAM,KAAK,aAAa,EAAE;QACnCR,sBAAsB,CAAC,CAAC;QACxB;MACF,CAAC,MAAM;QACLU,KAAK,CAAC;UAAEK,EAAE,EAAE,KAAK;UAAEK,KAAK,EAAE,gBAAgB;UAAEZ;QAAO,CAAC,CAAC;MACvD;IACF,CAAC,CAAC,OAAOa,CAAM,EAAE;MACfX,KAAK,CAAC;QAAEK,EAAE,EAAE,KAAK;QAAEK,KAAK,EAAEC,CAAC,EAAEC,OAAO,IAAIC,MAAM,CAACF,CAAC,CAAC;QAAEb;MAAO,CAAC,CAAC;IAC9D;EACF,CAAC,EAAE,CAAC;AACN","ignoreList":[]}
1
+ {"version":3,"names":["openMap","openDialPad","openBrowser","closeCurrentScreenSafe","setSessionId","handleWebMessage","raw","postBack","msg","JSON","parse","action","payload","reply","data","lat","lng","label","ok","number","url","sessionId","id","error","e","message","String"],"sourceRoot":"../../../../src","sources":["services/webview/messageHandler.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,0BAAuB;AAC/C,SAASC,WAAW,QAAQ,0BAAuB;AACnD,SAASC,WAAW,QAAQ,8BAA2B;AACvD,SAASC,sBAAsB,QAAQ,mCAAgC;AACvE,SAASC,YAAY,QAAQ,sCAAmC;AAEhE,OAAO,SAASC,gBAAgBA,CAACC,GAAW,EAAEC,QAA8B,EAAE;EAC5E,IAAIC,GAAuC;EAC3C,IAAI;IACFA,GAAG,GAAGC,IAAI,CAACC,KAAK,CAACJ,GAAG,CAAC;EACvB,CAAC,CAAC,MAAM;IACN;EACF;EACA,MAAMK,MAAM,GAAGH,GAAG,EAAEG,MAAM;EAC1B,MAAMC,OAAO,GAAGJ,GAAG,EAAEI,OAAO;EAE5B,MAAMC,KAAK,GAAIC,IAAS,IAAKP,QAAQ,GAAGO,IAAI,CAAC;EAE7C,CAAC,YAAY;IACX,IAAI;MACF,IAAIH,MAAM,KAAK,UAAU,EAAE;QACzB,MAAM;UAAEI,GAAG;UAAEC,GAAG;UAAEC;QAAM,CAAC,GAAGL,OAAO,IAAI,CAAC,CAAC;QACzC,MAAMZ,OAAO,CAACe,GAAG,EAAEC,GAAG,EAAEC,KAAK,CAAC;QAC9BJ,KAAK,CAAC;UAAEK,EAAE,EAAE,IAAI;UAAEP;QAAO,CAAC,CAAC;MAC7B,CAAC,MAAM,IAAIA,MAAM,KAAK,eAAe,EAAE;QACrC,MAAMV,WAAW,CAACW,OAAO,EAAEO,MAAM,CAAC;QAClCN,KAAK,CAAC;UAAEK,EAAE,EAAE,IAAI;UAAEP;QAAO,CAAC,CAAC;MAC7B,CAAC,MAAM,IAAIA,MAAM,KAAK,0BAA0B,EAAE;QAChD,MAAMT,WAAW,CAACU,OAAO,EAAEQ,GAAG,CAAC;QAC/BP,KAAK,CAAC;UAAEK,EAAE,EAAE,IAAI;UAAEP;QAAO,CAAC,CAAC;MAC7B,CAAC,MAAM,IAAIA,MAAM,KAAK,YAAY,EAAE;QAClC,MAAM;UAAEU;QAAU,CAAC,GAAGT,OAAO,IAAI,CAAC,CAAC;QACnC,MAAMU,EAAE,GAAG,MAAMlB,YAAY,CAACiB,SAAS,CAAC;QACxCR,KAAK,CAAC;UAAEK,EAAE,EAAE,IAAI;UAAEP,MAAM;UAAEU,SAAS,EAAEC;QAAG,CAAC,CAAC;MAC5C,CAAC,MAAM,IAAIX,MAAM,KAAK,aAAa,EAAE;QACnCR,sBAAsB,CAAC,CAAC;QACxB;MACF,CAAC,MAAM;QACLU,KAAK,CAAC;UAAEK,EAAE,EAAE,KAAK;UAAEK,KAAK,EAAE,gBAAgB;UAAEZ;QAAO,CAAC,CAAC;MACvD;IACF,CAAC,CAAC,OAAOa,CAAM,EAAE;MACfX,KAAK,CAAC;QAAEK,EAAE,EAAE,KAAK;QAAEK,KAAK,EAAEC,CAAC,EAAEC,OAAO,IAAIC,MAAM,CAACF,CAAC,CAAC;QAAEb;MAAO,CAAC,CAAC;IAC9D;EACF,CAAC,EAAE,CAAC;AACN","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ // config.ts
4
+
5
+ // Default environment (build-time injected)
6
+ const injectedEnv = 'production';
7
+ const DEFAULT_ENVIRONMENT = injectedEnv === 'production' ? 'production' : 'sandbox';
8
+ const ENV_URLS = {
9
+ sandbox: 'https://testm.saversapp.com/',
10
+ production: 'https://m.saversapp.com/'
11
+ };
12
+
13
+ // Current environment
14
+ let currentEnvironment = DEFAULT_ENVIRONMENT;
15
+
16
+ // Current base URL
17
+ let BASE_URL = ENV_URLS[currentEnvironment];
18
+
19
+ // Change environment
20
+ export const setEnvironment = env => {
21
+ currentEnvironment = env;
22
+ BASE_URL = ENV_URLS[env];
23
+ };
24
+
25
+ // Get current environment
26
+ export const getEnvironment = () => {
27
+ return currentEnvironment;
28
+ };
29
+
30
+ // Get base URL
31
+ export const getBaseUrl = () => {
32
+ return BASE_URL;
33
+ };
34
+ //# sourceMappingURL=config.js.map