react-native-mytatva-rn-sdk 1.0.0 → 1.1.0

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 (228) hide show
  1. package/android/app/build.gradle +5 -0
  2. package/android/build.gradle +5 -5
  3. package/android/gradle.properties +13 -5
  4. package/android/settings.gradle +9 -0
  5. package/android/src/main/AndroidManifest.xml +22 -1
  6. package/android/src/main/AndroidManifestNew.xml +59 -1
  7. package/android/src/main/java/com/{visitrnsdk/VisitRnSdkPackage.kt → mytatvarnsdk/MyTatvaRnSdkPackage.kt} +2 -2
  8. package/android/src/main/java/com/{visitrnsdk/VisitRnSdkViewManager.kt → mytatvarnsdk/MyTatvaRnSdkViewManager.kt} +1 -1
  9. package/lib/commonjs/BcaDeviceListSheet.js +286 -0
  10. package/lib/commonjs/BcaDeviceListSheet.js.map +1 -0
  11. package/lib/commonjs/MainWebView.js +68 -0
  12. package/lib/commonjs/MainWebView.js.map +1 -0
  13. package/lib/commonjs/ProgressWebView.js +547 -0
  14. package/lib/commonjs/ProgressWebView.js.map +1 -0
  15. package/lib/commonjs/Services.js +27 -1
  16. package/lib/commonjs/Services.js.map +1 -1
  17. package/lib/commonjs/Sheets.js +7 -0
  18. package/lib/commonjs/Sheets.js.map +1 -0
  19. package/lib/commonjs/api/auth.js +167 -0
  20. package/lib/commonjs/api/auth.js.map +1 -0
  21. package/lib/commonjs/api/base.js +224 -0
  22. package/lib/commonjs/api/base.js.map +1 -0
  23. package/lib/commonjs/api/index.js +12 -0
  24. package/lib/commonjs/api/index.js.map +1 -0
  25. package/lib/commonjs/assets/icons/achieve.svg +3 -0
  26. package/lib/commonjs/assets/icons/heart.svg +3 -0
  27. package/lib/commonjs/assets/icons/smartWatch.svg +3 -0
  28. package/lib/commonjs/constants/asyncstorage.js +29 -0
  29. package/lib/commonjs/constants/asyncstorage.js.map +1 -0
  30. package/lib/commonjs/constants/constants.js +1373 -0
  31. package/lib/commonjs/constants/constants.js.map +1 -0
  32. package/lib/commonjs/constants.js +12 -2
  33. package/lib/commonjs/constants.js.map +1 -1
  34. package/lib/commonjs/helpers/Matrics.js +49 -0
  35. package/lib/commonjs/helpers/Matrics.js.map +1 -0
  36. package/lib/commonjs/helpers/bluetoothPermissionHelper.js +114 -0
  37. package/lib/commonjs/helpers/bluetoothPermissionHelper.js.map +1 -0
  38. package/lib/commonjs/helpers/colors.js +304 -0
  39. package/lib/commonjs/helpers/colors.js.map +1 -0
  40. package/lib/commonjs/helpers/common.js +46 -0
  41. package/lib/commonjs/helpers/common.js.map +1 -0
  42. package/lib/commonjs/helpers/fonts.js +33 -0
  43. package/lib/commonjs/helpers/fonts.js.map +1 -0
  44. package/lib/commonjs/helpers/globalStyles.js +188 -0
  45. package/lib/commonjs/helpers/globalStyles.js.map +1 -0
  46. package/lib/commonjs/helpers/icons.js +16 -0
  47. package/lib/commonjs/helpers/icons.js.map +1 -0
  48. package/lib/commonjs/index.android.js +163 -414
  49. package/lib/commonjs/index.android.js.map +1 -1
  50. package/lib/commonjs/index.ios.js +138 -187
  51. package/lib/commonjs/index.ios.js.map +1 -1
  52. package/lib/commonjs/redux/Store.js +42 -0
  53. package/lib/commonjs/redux/Store.js.map +1 -0
  54. package/lib/commonjs/redux/hooks.js +8 -0
  55. package/lib/commonjs/redux/hooks.js.map +1 -0
  56. package/lib/commonjs/redux/sagas/AuthSaga.js +44 -0
  57. package/lib/commonjs/redux/sagas/AuthSaga.js.map +1 -0
  58. package/lib/commonjs/redux/sagas/index.js +15 -0
  59. package/lib/commonjs/redux/sagas/index.js.map +1 -0
  60. package/lib/commonjs/redux/slices/authSlice.js +80 -0
  61. package/lib/commonjs/redux/slices/authSlice.js.map +1 -0
  62. package/lib/commonjs/redux/slices/index.js +44 -0
  63. package/lib/commonjs/redux/slices/index.js.map +1 -0
  64. package/lib/commonjs/types/auth.js +2 -0
  65. package/lib/commonjs/types/auth.js.map +1 -0
  66. package/lib/commonjs/types/common.js +2 -0
  67. package/lib/commonjs/types/common.js.map +1 -0
  68. package/lib/commonjs/types/index.js +13 -0
  69. package/lib/commonjs/types/index.js.map +1 -0
  70. package/lib/module/BcaDeviceListSheet.js +277 -0
  71. package/lib/module/BcaDeviceListSheet.js.map +1 -0
  72. package/lib/module/MainWebView.js +61 -0
  73. package/lib/module/MainWebView.js.map +1 -0
  74. package/lib/module/ProgressWebView.js +536 -0
  75. package/lib/module/ProgressWebView.js.map +1 -0
  76. package/lib/module/Services.js +24 -0
  77. package/lib/module/Services.js.map +1 -1
  78. package/lib/module/Sheets.js +4 -0
  79. package/lib/module/Sheets.js.map +1 -0
  80. package/lib/module/api/auth.js +160 -0
  81. package/lib/module/api/auth.js.map +1 -0
  82. package/lib/module/api/base.js +212 -0
  83. package/lib/module/api/base.js.map +1 -0
  84. package/lib/module/api/index.js +5 -0
  85. package/lib/module/api/index.js.map +1 -0
  86. package/lib/module/assets/icons/achieve.svg +3 -0
  87. package/lib/module/assets/icons/heart.svg +3 -0
  88. package/lib/module/assets/icons/smartWatch.svg +3 -0
  89. package/lib/module/constants/asyncstorage.js +23 -0
  90. package/lib/module/constants/asyncstorage.js.map +1 -0
  91. package/lib/module/constants/constants.js +1367 -0
  92. package/lib/module/constants/constants.js.map +1 -0
  93. package/lib/module/constants.js +12 -2
  94. package/lib/module/constants.js.map +1 -1
  95. package/lib/module/helpers/Matrics.js +44 -0
  96. package/lib/module/helpers/Matrics.js.map +1 -0
  97. package/lib/module/helpers/bluetoothPermissionHelper.js +103 -0
  98. package/lib/module/helpers/bluetoothPermissionHelper.js.map +1 -0
  99. package/lib/module/helpers/colors.js +298 -0
  100. package/lib/module/helpers/colors.js.map +1 -0
  101. package/lib/module/helpers/common.js +34 -0
  102. package/lib/module/helpers/common.js.map +1 -0
  103. package/lib/module/helpers/fonts.js +27 -0
  104. package/lib/module/helpers/fonts.js.map +1 -0
  105. package/lib/module/helpers/globalStyles.js +181 -0
  106. package/lib/module/helpers/globalStyles.js.map +1 -0
  107. package/lib/module/helpers/icons.js +9 -0
  108. package/lib/module/helpers/icons.js.map +1 -0
  109. package/lib/module/index.android.js +165 -413
  110. package/lib/module/index.android.js.map +1 -1
  111. package/lib/module/index.ios.js +138 -187
  112. package/lib/module/index.ios.js.map +1 -1
  113. package/lib/module/redux/Store.js +34 -0
  114. package/lib/module/redux/Store.js.map +1 -0
  115. package/lib/module/redux/hooks.js +7 -0
  116. package/lib/module/redux/hooks.js.map +1 -0
  117. package/lib/module/redux/sagas/AuthSaga.js +34 -0
  118. package/lib/module/redux/sagas/AuthSaga.js.map +1 -0
  119. package/lib/module/redux/sagas/index.js +8 -0
  120. package/lib/module/redux/sagas/index.js.map +1 -0
  121. package/lib/module/redux/slices/authSlice.js +68 -0
  122. package/lib/module/redux/slices/authSlice.js.map +1 -0
  123. package/lib/module/redux/slices/index.js +24 -0
  124. package/lib/module/redux/slices/index.js.map +1 -0
  125. package/lib/module/types/auth.js +2 -0
  126. package/lib/module/types/auth.js.map +1 -0
  127. package/lib/module/types/common.js +2 -0
  128. package/lib/module/types/common.js.map +1 -0
  129. package/lib/module/types/index.js +4 -0
  130. package/lib/module/types/index.js.map +1 -0
  131. package/lib/typescript/BcaDeviceListSheet.d.ts +7 -0
  132. package/lib/typescript/BcaDeviceListSheet.d.ts.map +1 -0
  133. package/lib/typescript/MainWebView.d.ts +4 -0
  134. package/lib/typescript/MainWebView.d.ts.map +1 -0
  135. package/lib/typescript/ProgressWebView.d.ts +4 -0
  136. package/lib/typescript/ProgressWebView.d.ts.map +1 -0
  137. package/lib/typescript/Services.d.ts +5 -0
  138. package/lib/typescript/Services.d.ts.map +1 -0
  139. package/lib/typescript/Sheets.d.ts +2 -0
  140. package/lib/typescript/Sheets.d.ts.map +1 -0
  141. package/lib/typescript/api/auth.d.ts +33 -0
  142. package/lib/typescript/api/auth.d.ts.map +1 -0
  143. package/lib/typescript/api/base.d.ts +20 -0
  144. package/lib/typescript/api/base.d.ts.map +1 -0
  145. package/lib/typescript/api/index.d.ts +35 -0
  146. package/lib/typescript/api/index.d.ts.map +1 -0
  147. package/lib/typescript/constants/asyncstorage.d.ts +23 -0
  148. package/lib/typescript/constants/asyncstorage.d.ts.map +1 -0
  149. package/lib/typescript/constants/constants.d.ts +1081 -0
  150. package/lib/typescript/constants/constants.d.ts.map +1 -0
  151. package/lib/typescript/constants.d.ts +16 -0
  152. package/lib/typescript/constants.d.ts.map +1 -0
  153. package/lib/typescript/helpers/Matrics.d.ts +14 -0
  154. package/lib/typescript/helpers/Matrics.d.ts.map +1 -0
  155. package/lib/typescript/helpers/bluetoothPermissionHelper.d.ts +18 -0
  156. package/lib/typescript/helpers/bluetoothPermissionHelper.d.ts.map +1 -0
  157. package/lib/typescript/helpers/colors.d.ts +297 -0
  158. package/lib/typescript/helpers/colors.d.ts.map +1 -0
  159. package/lib/typescript/helpers/common.d.ts +8 -0
  160. package/lib/typescript/helpers/common.d.ts.map +1 -0
  161. package/lib/typescript/helpers/fonts.d.ts +23 -0
  162. package/lib/typescript/helpers/fonts.d.ts.map +1 -0
  163. package/lib/typescript/helpers/globalStyles.d.ts +176 -0
  164. package/lib/typescript/helpers/globalStyles.d.ts.map +1 -0
  165. package/lib/typescript/helpers/icons.d.ts +6 -0
  166. package/lib/typescript/helpers/icons.d.ts.map +1 -0
  167. package/lib/typescript/index.android.d.ts +30 -0
  168. package/lib/typescript/index.android.d.ts.map +1 -0
  169. package/lib/typescript/index.ios.d.ts +28 -0
  170. package/lib/typescript/index.ios.d.ts.map +1 -0
  171. package/lib/typescript/redux/Store.d.ts +13 -0
  172. package/lib/typescript/redux/Store.d.ts.map +1 -0
  173. package/lib/typescript/redux/hooks.d.ts +1 -0
  174. package/lib/typescript/redux/hooks.d.ts.map +1 -0
  175. package/lib/typescript/redux/sagas/AuthSaga.d.ts +3 -0
  176. package/lib/typescript/redux/sagas/AuthSaga.d.ts.map +1 -0
  177. package/lib/typescript/redux/sagas/index.d.ts +3 -0
  178. package/lib/typescript/redux/sagas/index.d.ts.map +1 -0
  179. package/lib/typescript/redux/slices/authSlice.d.ts +5 -0
  180. package/lib/typescript/redux/slices/authSlice.d.ts.map +1 -0
  181. package/lib/typescript/redux/slices/index.d.ts +6 -0
  182. package/lib/typescript/redux/slices/index.d.ts.map +1 -0
  183. package/lib/typescript/types/auth.d.ts +485 -0
  184. package/lib/typescript/types/auth.d.ts.map +1 -0
  185. package/lib/typescript/types/common.d.ts +19 -0
  186. package/lib/typescript/types/common.d.ts.map +1 -0
  187. package/lib/typescript/types/index.d.ts +4 -0
  188. package/lib/typescript/types/index.d.ts.map +1 -0
  189. package/package.json +39 -8
  190. package/src/BcaDeviceListSheet.tsx +331 -0
  191. package/src/MainWebView.tsx +67 -0
  192. package/src/ProgressWebView.tsx +602 -0
  193. package/src/Services.js +40 -0
  194. package/src/Sheets.js +4 -0
  195. package/src/api/auth.ts +156 -0
  196. package/src/api/base.ts +247 -0
  197. package/src/api/index.ts +5 -0
  198. package/src/assets/icons/achieve.svg +3 -0
  199. package/src/assets/icons/heart.svg +3 -0
  200. package/src/assets/icons/smartWatch.svg +3 -0
  201. package/src/constants/asyncstorage.ts +23 -0
  202. package/src/constants/constants.ts +1204 -0
  203. package/src/constants.ts +14 -0
  204. package/src/helpers/Matrics.ts +48 -0
  205. package/src/helpers/bluetoothPermissionHelper.ts +198 -0
  206. package/src/helpers/colors.ts +320 -0
  207. package/src/helpers/common.ts +46 -0
  208. package/src/helpers/fonts.ts +28 -0
  209. package/src/helpers/globalStyles.ts +179 -0
  210. package/src/helpers/icons.ts +11 -0
  211. package/src/index.android.js +164 -577
  212. package/src/index.ios.js +147 -215
  213. package/src/redux/Store.ts +36 -0
  214. package/src/redux/hooks.ts +6 -0
  215. package/src/redux/sagas/AuthSaga.ts +49 -0
  216. package/src/redux/sagas/index.ts +9 -0
  217. package/src/redux/slices/authSlice.ts +81 -0
  218. package/src/redux/slices/index.ts +29 -0
  219. package/src/types/auth.ts +533 -0
  220. package/src/types/common.ts +19 -0
  221. package/src/types/index.ts +8 -0
  222. package/lib/typescript/index.test.d.ts +0 -1
  223. package/lib/typescript/index.test.d.ts.map +0 -1
  224. package/src/constants.js +0 -4
  225. /package/ios/{VisitRnSdk.xcodeproj → MyTatvaRnSdk.xcodeproj}/project.pbxproj +0 -0
  226. /package/ios/{VisitRnSdkViewManager.h → MyTatvaRnSdkViewManager.h} +0 -0
  227. /package/ios/{VisitRnSdkViewManager.m → MyTatvaRnSdkViewManager.m} +0 -0
  228. /package/{react-native-visit-rn-sdk.podspec → react-native-mytatva-rn-sdk.podspec} +0 -0
@@ -3,138 +3,86 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.httpClient = exports.fetchHourlyFitnessData = exports.fetchDailyFitnessData = exports.default = void 0;
6
+ exports.httpClient = exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNativeEventListeners = require("react-native-event-listeners");
9
+ var _native = require("@react-navigation/native");
9
10
  var _reactNative = require("react-native");
10
- var _reactNativeWebview = _interopRequireDefault(require("react-native-webview"));
11
- var _reactNativeLocationEnabler = _interopRequireDefault(require("react-native-location-enabler"));
12
- var _reactNativeDeviceInfo = _interopRequireDefault(require("react-native-device-info"));
11
+ require("../src/Sheets");
12
+ var _reactRedux = require("react-redux");
13
+ var _toolkit = require("@reduxjs/toolkit");
14
+ var _core = _interopRequireDefault(require("@redux-saga/core"));
15
+ var _slices = _interopRequireDefault(require("./redux/slices"));
16
+ var _sagas = _interopRequireDefault(require("./redux/sagas"));
13
17
  var _axios = _interopRequireDefault(require("axios"));
14
18
  var _constants = _interopRequireDefault(require("./constants"));
19
+ var _Services = require("./Services");
20
+ var _MainWebView = _interopRequireDefault(require("./MainWebView"));
21
+ var _ProgressWebView = _interopRequireDefault(require("./ProgressWebView"));
22
+ var _reactNativeActionsSheet = require("react-native-actions-sheet");
15
23
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
24
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
25
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
26
+ // import { createStackNavigator } from '@react-navigation/stack';
27
+
28
+ // import {enableScreens} from 'react-native-screens';
29
+
30
+ // enableScreens();
31
+
32
+ // const Stack = createStackNavigator();
33
+
18
34
  const httpClient = exports.httpClient = _axios.default.create({
19
- timeout: 60000
35
+ timeout: 60000,
36
+ headers: {
37
+ 'api-key': 'lChjFRJce3bxmoS3TSQk5w==',
38
+ 'Content-Type': 'text/plain'
39
+ }
20
40
  });
21
- const {
22
- PRIORITIES: {
23
- HIGH_ACCURACY
24
- },
25
- useLocationSettings,
26
- addListener
27
- } = _reactNativeLocationEnabler.default;
41
+ const sagaMiddleware = (0, _core.default)();
42
+ const store = (0, _toolkit.configureStore)({
43
+ reducer: _slices.default,
44
+ middleware: getDefaultMiddleware => getDefaultMiddleware().concat(sagaMiddleware)
45
+ });
46
+ sagaMiddleware.run(_sagas.default);
28
47
  const MyTatvaRnSdkView = ({
29
- cpsid,
48
+ mobileNumber,
49
+ uuid,
30
50
  baseUrl,
31
51
  errorBaseUrl,
32
52
  token,
33
- moduleName,
34
53
  environment,
35
- magicLink,
36
- isLoggingEnabled
54
+ userMetaInfo,
55
+ clientSource,
56
+ moduleName,
57
+ navigation
37
58
  }) => {
38
59
  const [source, setSource] = (0, _react.useState)('');
39
60
  const [appState, setAppState] = (0, _react.useState)(_reactNative.AppState.currentState);
40
- const [showPermissionAlreadyDeniedDialog, setShowPermissionAlreadyDeniedDialog] = (0, _react.useState)(false);
61
+ const [loading, setLoading] = (0, _react.useState)(false);
62
+ const [isError, setError] = (0, _react.useState)(false);
63
+
64
+ // useEffect(() => {
65
+ // if ((baseUrl?.trim()?.length || 0) > 0) {
66
+ // setSource(baseUrl);
67
+ // }
68
+ // }, [
69
+ // baseUrl,
70
+ // ]);
71
+
41
72
  (0, _react.useEffect)(() => {
42
- var _magicLink$trim;
43
- if (isLoggingEnabled) {
44
- console.log('useEffect ran');
45
- }
46
- _reactNative.NativeModules.VisitFitnessModule.initiateSDK(isLoggingEnabled);
47
- if (((magicLink === null || magicLink === void 0 || (_magicLink$trim = magicLink.trim()) === null || _magicLink$trim === void 0 ? void 0 : _magicLink$trim.length) || 0) > 0) {
48
- setSource(magicLink);
49
- } else {
50
- _reactNativeDeviceInfo.default.getAndroidId().then(deviceId => {
51
- var buildNumber = _reactNativeDeviceInfo.default.getBuildNumber();
52
- let systemVersion = _reactNativeDeviceInfo.default.getSystemVersion();
53
- let version = _reactNativeDeviceInfo.default.getVersion();
54
- if (isLoggingEnabled) {
55
- console.log(' baseUrl : ' + baseUrl + 'token: ' + token + ' cpsid: ' + cpsid + ' environment: ' + environment + 'buildNumber:' + buildNumber + ' systemVersion:' + systemVersion + ' version : ' + version + ' deviceId', deviceId);
56
- }
57
- var finalEndPoint = `${baseUrl}/partners/v3/generate-magic-link-star-health`;
58
- if (isLoggingEnabled) {
59
- console.log('finalEndPoint: ' + finalEndPoint);
60
- }
61
- httpClient.post(finalEndPoint, {
62
- cpsid: cpsid,
63
- token: token,
64
- srcClientId: 'Android',
65
- deviceId: deviceId,
66
- appVersion: version,
67
- deviceVersion: systemVersion,
68
- userEnv: environment
69
- }).then(response => {
70
- let data = response.data;
71
- // let visitMagicLink = data.result; //@Deprecated. Superseded by magic code usage.
72
- const errorMessage = data.errorMessage;
73
- const magicCode = data.magicCode;
74
- const responseReferenceId = data.responseReferenceId;
75
- let finalBaseUrl = '';
76
- if (environment.toUpperCase() === 'PROD') {
77
- finalBaseUrl = _constants.default.PROD_BASE_URL;
78
- } else {
79
- finalBaseUrl = _constants.default.STAGE_BASE_URL;
80
- }
81
- let finalUrl = `${finalBaseUrl}=${magicCode}`;
82
- if (data.message === 'success') {
83
- var _moduleName$trim;
84
- if (((moduleName === null || moduleName === void 0 || (_moduleName$trim = moduleName.trim()) === null || _moduleName$trim === void 0 ? void 0 : _moduleName$trim.length) || 0) > 0) {
85
- finalUrl += `&tab=${moduleName}`;
86
- }
87
- if (typeof responseReferenceId === 'string' && responseReferenceId.trim().length > 0) {
88
- finalUrl += `&responseReferenceId=${responseReferenceId}`;
89
- }
90
- if (isLoggingEnabled) {
91
- console.log('magicLink: ' + finalUrl);
92
- }
93
- setSource(finalUrl);
94
- } else {
95
- var errorUrl = `${errorBaseUrl}/star-health?error=${errorMessage}`;
96
- setSource(errorUrl);
97
- if (errorMessage != null) {
98
- if (errorMessage === 'Please login again') {
99
- _reactNativeEventListeners.EventRegister.emitEvent('visit-event', {
100
- message: 'unauthorized-wellness-access',
101
- errorMessage: errorMessage
102
- });
103
- } else if (errorMessage.includes('External Server Error')) {
104
- _reactNativeEventListeners.EventRegister.emitEvent('visit-event', {
105
- message: 'external-server-error',
106
- errorMessage: errorMessage
107
- });
108
- }
109
- }
110
- if (isLoggingEnabled) {
111
- console.log('erorMessage: ' + data.errorMessage + ' errorUrl: ' + errorUrl);
112
- }
113
- }
114
- }).catch(error => {
115
- var errorUrl = `${errorBaseUrl}/star-health?error=${error}`;
116
- setSource(errorUrl);
117
- _reactNativeEventListeners.EventRegister.emitEvent('visit-event', {
118
- message: 'generate-magic-link-failed',
119
- errorMessage: `${error}`
120
- });
121
- if (isLoggingEnabled) {
122
- console.log('error: ' + error);
123
- }
124
- });
125
- }).catch(err => {
126
- var errorUrl = `${errorBaseUrl}/star-health?error=${err}`;
127
- setSource(errorUrl);
128
- _reactNativeEventListeners.EventRegister.emitEvent('visit-event', {
129
- message: 'getDeviceInfo-failed',
130
- errorMessage: `${err}`
73
+ if (!uuid && !mobileNumber) {
74
+ setTimeout(() => {
75
+ _reactNativeEventListeners.EventRegister.emitEvent('mytatva-event', {
76
+ message: 'unique-identifier',
77
+ errorMessage: 'contact number or patientId is required'
131
78
  });
132
- if (isLoggingEnabled) {
133
- console.log('getDeviceInfo err', err);
134
- }
135
- });
79
+ }, 1000);
80
+ setError(true);
81
+ } else {
82
+ authenticateSDK();
83
+ setError(false);
136
84
  }
137
- }, [cpsid, token, baseUrl, errorBaseUrl, moduleName, environment, magicLink, isLoggingEnabled]);
85
+ }, [uuid, mobileNumber]);
138
86
  (0, _react.useEffect)(() => {
139
87
  const subscription = _reactNative.AppState.addEventListener('change', handleAppStateChange);
140
88
  console.log(`AppState.addEventListener added, current state: ${appState}`);
@@ -143,6 +91,39 @@ const MyTatvaRnSdkView = ({
143
91
  };
144
92
  }, [appState]); // Include appState in the dependency array to ensure it's up to date.
145
93
 
94
+ const authenticateSDK = () => {
95
+ setLoading(true);
96
+ let baseUrl = environment.toUpperCase() === 'PROD' ? _constants.default.PROD_BASE_URL : _constants.default.STAGE_BASE_URL;
97
+ const finalUrl = baseUrl + '/helper/authenticateClient';
98
+ const data = {
99
+ source: clientSource,
100
+ sourceKey: token
101
+ };
102
+ (0, _axios.default)({
103
+ method: 'post',
104
+ url: finalUrl,
105
+ headers: {
106
+ 'api-key': environment.toUpperCase() === 'PROD' ? _constants.default.PROD_API_KEY : _constants.default.STAGE_API_KEY,
107
+ 'Content-Type': 'text/plain'
108
+ },
109
+ data: (0, _Services.getEncryptedText)(data, environment)
110
+ }).then(async response => {
111
+ const parsedResponse = await JSON.parse((0, _Services.getDecryptedData)(response === null || response === void 0 ? void 0 : response.data, environment));
112
+ if ((parsedResponse === null || parsedResponse === void 0 ? void 0 : parsedResponse.data) == 0) {
113
+ setError(true);
114
+ _reactNativeEventListeners.EventRegister.emitEvent('mytatva-event', {
115
+ message: 'unauthorized-client',
116
+ errorMessage: 'Unauthorized Access'
117
+ });
118
+ } else {
119
+ getSourceUrl();
120
+ }
121
+ }).catch(error => {
122
+ console.log("error", error);
123
+ }).finally(() => {
124
+ setLoading(false);
125
+ });
126
+ };
146
127
  const handleAppStateChange = nextAppState => {
147
128
  // console.log(
148
129
  // "nextAppState: " + nextAppState + ", previousState: " + appState
@@ -153,227 +134,30 @@ const MyTatvaRnSdkView = ({
153
134
  if (isLoggingEnabled) {
154
135
  console.log('App has come to the foreground!');
155
136
  }
156
- getHealthConnectStatus();
137
+ // getHealthConnectStatus();
157
138
  }
158
- setAppState(nextAppState); // Update the state with the new app state
139
+
140
+ // setAppState(nextAppState); // Update the state with the new app state
159
141
  };
160
- const [enabled, requestResolution] = useLocationSettings({
161
- priority: HIGH_ACCURACY,
162
- // default BALANCED_POWER_ACCURACY
163
- alwaysShow: true,
164
- // default false
165
- needBle: true // default false
166
- }, false /* optional: default undefined */);
167
142
  const webviewRef = (0, _react.useRef)(null);
168
- const showLocationPermissionAlert = () => {
169
- _reactNative.Alert.alert('Permission Required', 'Allow location permission from app settings', [{
170
- text: 'Cancel',
171
- onPress: () => {
172
- console.log('Cancel clicked');
173
- }
174
- }, {
175
- text: 'Go to Settings',
176
- onPress: () => {
177
- _reactNative.Linking.openSettings();
178
- }
179
- }]);
180
- };
181
- const requestLocationPermission = async () => {
182
- try {
183
- console.log('requestLocationPermission called');
184
- const isLocationPermissionPresent = await _reactNative.PermissionsAndroid.check(_reactNative.PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION);
185
- console.log('isLocationPermissionPresent: ' + isLocationPermissionPresent + ' showPermissionAlreadyDeniedDialog: ' + showPermissionAlreadyDeniedDialog);
186
- if (!isLocationPermissionPresent && showPermissionAlreadyDeniedDialog) {
187
- console.log('showLocationPermissionAlert() called');
188
- showLocationPermissionAlert();
189
- } else {
190
- console.log('requesting location permission');
191
- const granted = await _reactNative.PermissionsAndroid.request(_reactNative.PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, {
192
- title: 'Need Location Permission',
193
- message: 'Need access to location permission',
194
- buttonNeutral: 'Ask Me Later',
195
- buttonNegative: 'Cancel',
196
- buttonPositive: 'OK'
197
- });
198
- if (granted === _reactNative.PermissionsAndroid.RESULTS.GRANTED) {
199
- if (isLoggingEnabled) {
200
- console.log('Location permission granted');
201
- }
202
- setShowPermissionAlreadyDeniedDialog(false);
203
- if (!enabled) {
204
- requestResolution();
205
- } else {
206
- var _webviewRef$current;
207
- var finalString = `window.checkTheGpsPermission(true)`;
208
- console.log('requestLocationPermission: ' + finalString);
209
- (_webviewRef$current = webviewRef.current) === null || _webviewRef$current === void 0 || _webviewRef$current.injectJavaScript(finalString);
210
- }
211
- } else {
212
- setShowPermissionAlreadyDeniedDialog(true);
213
- console.log('Location permission denied');
214
- }
215
- }
216
- } catch (e) {
217
- console.error(e);
218
- }
219
- };
220
- const showHealthConnectPermissionDeniedDialog = () => {
221
- _reactNative.Alert.alert('Permission Denied', 'Go to Health Connect App to allow app permission', [{
222
- text: 'Cancel',
223
- onPress: () => {
224
- console.log('Cancel clicked');
225
- }
226
- }, {
227
- text: 'Open Health Connect',
228
- onPress: () => {
229
- openHealthConnectApp();
230
- }
231
- }]);
232
- };
233
- const openHealthConnectApp = async () => {
234
- _reactNative.NativeModules.VisitFitnessModule.openHealthConnectApp();
235
- };
236
- const askForHealthConnectPermission = async () => {
237
- try {
238
- const isPermissionGranted = await _reactNative.NativeModules.VisitFitnessModule.askForFitnessPermission();
239
- if (isLoggingEnabled) {
240
- console.log('isPermissionGranted: ' + isPermissionGranted);
241
- }
242
- if (isPermissionGranted === 'GRANTED') {
243
- getHealthConnectStatus();
244
- // getDailyFitnessData();
245
- } else if (isPermissionGranted === 'CANCELLED') {
246
- showHealthConnectPermissionDeniedDialog();
247
- }
248
- } catch (e) {
249
- if (isLoggingEnabled) {
250
- console.error(e);
251
- }
252
- }
253
- };
254
- const getHealthConnectStatus = async () => {
255
- try {
256
- const healthConnectStatus = await _reactNative.NativeModules.VisitFitnessModule.getHealthConnectStatus();
257
- if (isLoggingEnabled) {
258
- console.log('getHealthConnectStatus: ' + healthConnectStatus);
259
- }
260
- if (healthConnectStatus === 'NOT_SUPPORTED') {
261
- var _webviewRef$current2;
262
- (_webviewRef$current2 = webviewRef.current) === null || _webviewRef$current2 === void 0 || _webviewRef$current2.injectJavaScript('window.healthConnectNotSupported()');
263
- } else if (healthConnectStatus === 'NOT_INSTALLED') {
264
- var _webviewRef$current3, _webviewRef$current4;
265
- (_webviewRef$current3 = webviewRef.current) === null || _webviewRef$current3 === void 0 || _webviewRef$current3.injectJavaScript('window.healthConnectNotInstall()');
266
- (_webviewRef$current4 = webviewRef.current) === null || _webviewRef$current4 === void 0 || _webviewRef$current4.injectJavaScript('window.updateFitnessPermissions(false,0,0)');
267
- } else if (healthConnectStatus === 'INSTALLED') {
268
- var _webviewRef$current5, _webviewRef$current6;
269
- (_webviewRef$current5 = webviewRef.current) === null || _webviewRef$current5 === void 0 || _webviewRef$current5.injectJavaScript('window.healthConnectAvailable()');
270
- (_webviewRef$current6 = webviewRef.current) === null || _webviewRef$current6 === void 0 || _webviewRef$current6.injectJavaScript('window.updateFitnessPermissions(false,0,0)');
271
- } else if (healthConnectStatus === 'CONNECTED') {
272
- getDailyFitnessData();
273
- }
274
- } catch (e) {
275
- if (isLoggingEnabled) {
276
- console.error(e);
277
- }
278
- }
279
- };
280
- const getDailyFitnessData = async () => {
281
- if (isLoggingEnabled) {
282
- console.log('getDailyFitnessData() called');
283
- }
284
- try {
285
- var _webviewRef$current7;
286
- const dailyFitnessData = await _reactNative.NativeModules.VisitFitnessModule.requestDailyFitnessData();
287
- (_webviewRef$current7 = webviewRef.current) === null || _webviewRef$current7 === void 0 || _webviewRef$current7.injectJavaScript(dailyFitnessData);
288
- } catch (error) {
289
- if (isLoggingEnabled) {
290
- console.log(error);
291
- }
292
- }
293
- };
294
- const requestActivityData = async (type, frequency, timeStamp) => {
295
- if (isLoggingEnabled) {
296
- console.log('requestActivityData() called');
297
- }
298
- try {
299
- var _webviewRef$current8;
300
- const graphData = await _reactNative.NativeModules.VisitFitnessModule.requestActivityDataFromHealthConnect(type, frequency, timeStamp);
301
- if (isLoggingEnabled) {
302
- console.log(`requestActivityData() data: ` + graphData);
303
- }
304
- (_webviewRef$current8 = webviewRef.current) === null || _webviewRef$current8 === void 0 || _webviewRef$current8.injectJavaScript('window.' + graphData);
305
- } catch (error) {
306
- if (isLoggingEnabled) {
307
- console.log(error);
308
- }
309
- }
310
- };
311
- const updateApiBaseUrl = async (apiBaseUrl, authtoken, googleFitLastSync, gfHourlyLastSync) => {
312
- if (isLoggingEnabled) {
313
- console.log('updateApiBaseUrl() called.');
314
- }
315
- try {
316
- const message = await _reactNative.NativeModules.VisitFitnessModule.updateApiBaseUrl(apiBaseUrl, authtoken, googleFitLastSync, gfHourlyLastSync);
317
- if (isLoggingEnabled) {
318
- console.log(message);
319
- }
320
- } catch (error) {
321
- if (isLoggingEnabled) {
322
- console.log(error);
323
- }
324
- }
325
- };
326
143
  const runBeforeFirst = `
327
144
  window.isNativeApp = true;
328
145
  window.platform = "ANDROID";
329
146
  window.setSdkPlatform('ANDROID');
330
147
  true; // note: this is required, or you'll sometimes get silent failures
331
148
  `;
149
+
150
+ // console.log("runBeforeFirst====", runBeforeFirst)
332
151
  const handleMessage = event => {
333
- var _webviewRef$current9;
152
+ var _webviewRef$current;
153
+ console.log("event====", event);
334
154
  if (event.nativeEvent.data != null) {
335
155
  try {
336
- if (isLoggingEnabled) {
337
- console.log('Event :' + event.nativeEvent.data);
338
- }
339
156
  const parsedObject = JSON.parse(event.nativeEvent.data);
340
157
  if (parsedObject.method != null) {
341
158
  switch (parsedObject.method) {
342
- case 'GET_HEALTH_CONNECT_STATUS':
343
- getHealthConnectStatus();
344
- break;
345
- case 'CONNECT_TO_GOOGLE_FIT':
346
- askForHealthConnectPermission();
347
- break;
348
159
  case 'UPDATE_PLATFORM':
349
- (_webviewRef$current9 = webviewRef.current) === null || _webviewRef$current9 === void 0 || _webviewRef$current9.injectJavaScript('window.setSdkPlatform("ANDROID")');
350
- break;
351
- case 'UPDATE_API_BASE_URL':
352
- {
353
- let apiBaseUrl = parsedObject.apiBaseUrl;
354
- let authtoken = parsedObject.authtoken;
355
- let googleFitLastSync = parsedObject.googleFitLastSync;
356
- let gfHourlyLastSync = parsedObject.gfHourlyLastSync;
357
- if (isLoggingEnabled) {
358
- console.log('apiBaseUrl: ' + 'NOT SHOWN' + ' authtoken: ' + 'NOT SHOWN' + ' googleFitLastSync: ' + googleFitLastSync + ' gfHourlyLastSync: ' + gfHourlyLastSync);
359
- }
360
- updateApiBaseUrl(apiBaseUrl, authtoken, googleFitLastSync, gfHourlyLastSync);
361
- }
362
- break;
363
- case 'GET_DATA_TO_GENERATE_GRAPH':
364
- {
365
- let type = parsedObject.type;
366
- let frequency = parsedObject.frequency;
367
- let timeStamp = parsedObject.timestamp;
368
- if (isLoggingEnabled) {
369
- console.log('type: ' + type + ' frequency:' + frequency + ' timeStamp: ' + timeStamp);
370
- }
371
- requestActivityData(type, frequency, timeStamp);
372
- }
373
- break;
374
- case 'GET_LOCATION_PERMISSIONS':
375
- console.log('GET_LOCATION_PERMISSIONS');
376
- requestLocationPermission();
160
+ (_webviewRef$current = webviewRef.current) === null || _webviewRef$current === void 0 || _webviewRef$current.injectJavaScript('window.setSdkPlatform("ANDROID")');
377
161
  break;
378
162
  case 'OPEN_PDF':
379
163
  {
@@ -385,134 +169,99 @@ const MyTatvaRnSdkView = ({
385
169
  break;
386
170
  case 'CLOSE_VIEW':
387
171
  break;
172
+ case 'OPEN_URL_HANDLER':
173
+ navigation.navigate('UrlHandler', {
174
+ url: parsedObject.url
175
+ });
176
+ break;
388
177
  default:
389
178
  break;
390
179
  }
391
180
  }
392
181
  } catch (exception) {
393
- console.log('Exception occured:' + exception.message);
182
+ console.log('Exception occurred:' + exception.message);
394
183
  }
395
184
  }
396
185
  };
397
186
  const [canGoBack, setCanGoBack] = (0, _react.useState)(false);
398
187
  const handleBack = (0, _react.useCallback)(() => {
399
188
  if (canGoBack && webviewRef.current) {
400
- var _webviewRef$current10;
401
- (_webviewRef$current10 = webviewRef.current) === null || _webviewRef$current10 === void 0 || _webviewRef$current10.goBack();
189
+ var _webviewRef$current2;
190
+ (_webviewRef$current2 = webviewRef.current) === null || _webviewRef$current2 === void 0 || _webviewRef$current2.goBack();
402
191
  return true;
403
192
  }
404
193
  return false;
405
194
  }, [canGoBack]);
406
195
  (0, _react.useEffect)(() => {
407
- const gpsListener = addListener(({
408
- locationEnabled
409
- }) => {
410
- if (locationEnabled) {
411
- checkLocationPermissionAndSendCallback();
412
- }
413
- });
414
196
  _reactNative.BackHandler.addEventListener('hardwareBackPress', handleBack);
415
197
  return () => {
416
198
  _reactNative.BackHandler.removeEventListener('hardwareBackPress', handleBack);
417
- gpsListener.remove();
199
+ // gpsListener.remove();
418
200
  };
419
201
  }, [handleBack]);
420
- const checkLocationPermissionAndSendCallback = async () => {
421
- const isLocationPermissionAvailable = await _reactNative.PermissionsAndroid.check(_reactNative.PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION);
422
- if (isLoggingEnabled) {
423
- console.log('checkLocationPermissionAndSendCallback() isLocationPermissionAvailable: ' + isLocationPermissionAvailable + 'isGPSPermissionAvailabe: true');
424
- }
425
- if (isLocationPermissionAvailable) {
426
- var _webviewRef$current11;
427
- var finalString = `window.checkTheGpsPermission(true)`;
428
- console.log('listener: ' + finalString);
429
- (_webviewRef$current11 = webviewRef.current) === null || _webviewRef$current11 === void 0 || _webviewRef$current11.injectJavaScript(finalString);
202
+ const getSourceUrl = () => {
203
+ let finalUrl = '';
204
+ const params = {
205
+ uuid,
206
+ mobileNumber,
207
+ clientSource,
208
+ moduleName,
209
+ environment,
210
+ ...userMetaInfo
211
+ };
212
+ let baseUrl = environment.toUpperCase() === 'PROD' ? _constants.default.PROD_BASE_URL : _constants.default.STAGE_BASE_URL;
213
+ if (baseUrl) {
214
+ finalUrl = baseUrl + '?data=' + encodeURIComponent(JSON.stringify(params));
215
+ setSource(finalUrl);
216
+ } else {
217
+ console.log("No baseUrl");
430
218
  }
431
219
  };
432
- return (
433
- /*#__PURE__*/
434
- // eslint-disable-next-line react-native/no-inline-styles
435
- _react.default.createElement(_reactNative.SafeAreaView, {
436
- style: {
437
- flex: 1
438
- }
439
- }, source ? /*#__PURE__*/_react.default.createElement(_reactNativeWebview.default, {
440
- ref: webviewRef,
441
- source: {
442
- uri: source,
443
- headers: {
444
- platform: 'ANDROID'
445
- }
446
- },
447
- onMessage: handleMessage,
448
- injectedJavaScriptBeforeContentLoaded: runBeforeFirst,
449
- javaScriptEnabled: true,
450
- onLoadProgress: event => setCanGoBack(event.nativeEvent.canGoBack),
451
- onError: errorMessage => {
452
- _reactNativeEventListeners.EventRegister.emitEvent('visit-event', {
453
- message: 'web-view-error',
454
- errorMessage: errorMessage
455
- });
456
- if (isLoggingEnabled) {
457
- console.warn('Webview error: ', errorMessage);
458
- }
459
- }
460
- }) : null)
461
- );
462
- };
463
- const fetchDailyFitnessData = (startTimeStamp, isLoggingEnabled) => {
464
- return new Promise((resolve, reject) => {
465
- console.log('fetchDailyFitnessData called: ' + startTimeStamp);
466
- _reactNative.NativeModules.VisitFitnessModule.fetchDailyFitnessData(startTimeStamp).then(result => {
467
- resolve(result);
468
- }).catch(err => reject(err));
469
- });
470
- };
471
- exports.fetchDailyFitnessData = fetchDailyFitnessData;
472
- const fetchHourlyFitnessData = (startTimeStamp, isLoggingEnabled) => {
473
- return new Promise((resolve, reject) => {
474
- if (isLoggingEnabled) {
475
- console.log('fetchHourlyFitnessData called: ' + startTimeStamp);
220
+ return /*#__PURE__*/_react.default.createElement(_reactNative.SafeAreaView, {
221
+ style: {
222
+ flex: 1,
223
+ backgroundColor: 'white'
476
224
  }
477
- _reactNative.NativeModules.VisitFitnessModule.fetchHourlyFitnessData(startTimeStamp).then(result => {
478
- resolve(result);
479
- }).catch(err => reject(err));
480
- });
225
+ }, /*#__PURE__*/_react.default.createElement(_reactRedux.Provider, {
226
+ store: store
227
+ }, /*#__PURE__*/_react.default.createElement(_reactNativeActionsSheet.SheetProvider, null, moduleName === 'progress' ? /*#__PURE__*/_react.default.createElement(_ProgressWebView.default, {
228
+ token: token,
229
+ environment: environment,
230
+ source: source,
231
+ loading: loading,
232
+ isError: isError,
233
+ webviewRef: webviewRef,
234
+ runBeforeFirst: runBeforeFirst,
235
+ setCanGoBack: setCanGoBack,
236
+ mobileNumber: mobileNumber,
237
+ moduleName: moduleName,
238
+ uuid: uuid,
239
+ clientSource: clientSource
240
+ }) : /*#__PURE__*/_react.default.createElement(_MainWebView.default, {
241
+ token: token,
242
+ environment: environment,
243
+ source: source,
244
+ loading: loading,
245
+ isError: isError,
246
+ webviewRef: webviewRef,
247
+ handleMessage: handleMessage,
248
+ runBeforeFirst: runBeforeFirst,
249
+ setCanGoBack: setCanGoBack,
250
+ clientSource: clientSource,
251
+ moduleName: moduleName
252
+ }))));
481
253
  };
482
-
483
- // debounce, deferred
484
- // function debounce(task, ms) {
485
- // let t = { promise: null, cancel: (_) => void 0 };
486
- // return async (...args) => {
487
- // try {
488
- // t.cancel();
489
- // t = deferred(ms);
490
- // await t.promise;
491
- // await task(...args);
492
- // } catch (_) {
493
- // console.log('cleaning up cancelled promise');
494
- // }
495
- // };
496
- // }
497
-
498
- // function deferred(ms) {
499
- // let cancel,
500
- // promise = new Promise((resolve, reject) => {
501
- // cancel = reject;
502
- // setTimeout(resolve, ms);
503
- // });
504
- // return { promise, cancel };
505
- // }
506
- exports.fetchHourlyFitnessData = fetchHourlyFitnessData;
507
254
  var _default = exports.default = MyTatvaRnSdkView;
508
255
  MyTatvaRnSdkView.defaultProps = {
509
- cpsid: '',
256
+ mobileNumber: '',
257
+ uuid: '',
510
258
  token: '',
511
259
  baseUrl: '',
512
260
  errorBaseUrl: '',
513
- moduleName: '',
514
261
  environment: '',
515
- magicLink: '',
516
- isLoggingEnabled: false
262
+ metaInfo: {},
263
+ clientSource: '',
264
+ moduleName: '',
265
+ navigation: {}
517
266
  };
518
267
  //# sourceMappingURL=index.android.js.map