react-native-rook-sdk 0.7.0 → 1.0.0-rc.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.
- package/android/src/main/java/com/rooksdk/RookSdkModule.kt +51 -597
- package/android/src/main/java/com/rooksdk/RookSdkPackage.kt +17 -1
- package/android/src/main/java/com/rooksdk/broadcasts/AndroidPermissionsReceiverTransmitter.kt +18 -0
- package/android/src/main/java/com/rooksdk/broadcasts/HealthConnectPermissionsReceiverTransmitter.kt +18 -0
- package/android/src/main/java/com/rooksdk/modules/RookConfigurationModule.kt +108 -0
- package/android/src/main/java/com/rooksdk/modules/RookPermissionsModule.kt +160 -0
- package/android/src/main/java/com/rooksdk/modules/RookStepsModule.kt +105 -0
- package/android/src/main/java/com/rooksdk/modules/RookSyncModule.kt +497 -0
- package/android/src/main/java/com/rooksdk/utils/DatasourcesUtils.kt +49 -0
- package/android/src/main/java/com/rooksdk/utils/ReadableToWritable.kt +20 -0
- package/android/src/main/java/com/rooksdk/utils/RookDateTime.kt +8 -0
- package/ios/RookSdk.mm +296 -8
- package/lib/commonjs/context/RookSyncGateContext.js +12 -0
- package/lib/commonjs/context/RookSyncGateContext.js.map +1 -1
- package/lib/commonjs/context/RookSyncGateProvider.js +12 -5
- package/lib/commonjs/context/RookSyncGateProvider.js.map +1 -1
- package/lib/commonjs/context/RookSyncGateReducer.js +15 -0
- package/lib/commonjs/context/RookSyncGateReducer.js.map +1 -1
- package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js +26 -41
- package/lib/commonjs/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
- package/lib/commonjs/hooks/useRookAppleHealth.js +24 -10
- package/lib/commonjs/hooks/useRookAppleHealth.js.map +1 -1
- package/lib/commonjs/hooks/useRookAppleHealthVariables.js +22 -4
- package/lib/commonjs/hooks/useRookAppleHealthVariables.js.map +1 -1
- package/lib/commonjs/hooks/useRookConfiguration.js +32 -16
- package/lib/commonjs/hooks/useRookConfiguration.js.map +1 -1
- package/lib/commonjs/hooks/useRookDataSources.js +18 -5
- package/lib/commonjs/hooks/useRookDataSources.js.map +1 -1
- package/lib/commonjs/hooks/useRookEvents.js +61 -57
- package/lib/commonjs/hooks/useRookEvents.js.map +1 -1
- package/lib/commonjs/hooks/useRookPermissions.js +59 -28
- package/lib/commonjs/hooks/useRookPermissions.js.map +1 -1
- package/lib/commonjs/hooks/useRookSummaries.js +23 -30
- package/lib/commonjs/hooks/useRookSummaries.js.map +1 -1
- package/lib/commonjs/modules/hook/useRookAutoSync.js +100 -32
- package/lib/commonjs/modules/hook/useRookAutoSync.js.map +1 -1
- package/lib/commonjs/types/PermissionsType.js +2 -0
- package/lib/commonjs/types/PermissionsType.js.map +1 -0
- package/lib/commonjs/utils/getNativeModule.js +29 -0
- package/lib/commonjs/utils/getNativeModule.js.map +1 -0
- package/lib/commonjs/utils/getRookModule.js +7 -0
- package/lib/commonjs/utils/getRookModule.js.map +1 -1
- package/lib/commonjs/utils/isModuleReady.js +6 -0
- package/lib/commonjs/utils/isModuleReady.js.map +1 -1
- package/lib/commonjs/utils/isValidDate.js +6 -0
- package/lib/commonjs/utils/isValidDate.js.map +1 -1
- package/lib/commonjs/utils/nativeModules.js +19 -0
- package/lib/commonjs/utils/nativeModules.js.map +1 -0
- package/lib/module/context/RookSyncGateContext.js +12 -0
- package/lib/module/context/RookSyncGateContext.js.map +1 -1
- package/lib/module/context/RookSyncGateProvider.js +8 -1
- package/lib/module/context/RookSyncGateProvider.js.map +1 -1
- package/lib/module/context/RookSyncGateReducer.js +15 -0
- package/lib/module/context/RookSyncGateReducer.js.map +1 -1
- package/lib/module/hooks/useRookAndroidBackgroundSteps.js +14 -29
- package/lib/module/hooks/useRookAndroidBackgroundSteps.js.map +1 -1
- package/lib/module/hooks/useRookAppleHealth.js +15 -2
- package/lib/module/hooks/useRookAppleHealth.js.map +1 -1
- package/lib/module/hooks/useRookAppleHealthVariables.js +20 -2
- package/lib/module/hooks/useRookAppleHealthVariables.js.map +1 -1
- package/lib/module/hooks/useRookConfiguration.js +18 -3
- package/lib/module/hooks/useRookConfiguration.js.map +1 -1
- package/lib/module/hooks/useRookDataSources.js +14 -2
- package/lib/module/hooks/useRookDataSources.js.map +1 -1
- package/lib/module/hooks/useRookEvents.js +32 -28
- package/lib/module/hooks/useRookEvents.js.map +1 -1
- package/lib/module/hooks/useRookPermissions.js +39 -9
- package/lib/module/hooks/useRookPermissions.js.map +1 -1
- package/lib/module/hooks/useRookSummaries.js +16 -23
- package/lib/module/hooks/useRookSummaries.js.map +1 -1
- package/lib/module/modules/hook/useRookAutoSync.js +100 -33
- package/lib/module/modules/hook/useRookAutoSync.js.map +1 -1
- package/lib/module/types/PermissionsType.js +2 -0
- package/lib/module/types/PermissionsType.js.map +1 -0
- package/lib/module/utils/getNativeModule.js +23 -0
- package/lib/module/utils/getNativeModule.js.map +1 -0
- package/lib/module/utils/getRookModule.js +8 -0
- package/lib/module/utils/getRookModule.js.map +1 -1
- package/lib/module/utils/isModuleReady.js +6 -0
- package/lib/module/utils/isModuleReady.js.map +1 -1
- package/lib/module/utils/isValidDate.js +6 -0
- package/lib/module/utils/isValidDate.js.map +1 -1
- package/lib/module/utils/nativeModules.js +13 -0
- package/lib/module/utils/nativeModules.js.map +1 -0
- package/lib/typescript/src/context/RookSyncGateContext.d.ts +7 -0
- package/lib/typescript/src/context/RookSyncGateContext.d.ts.map +1 -1
- package/lib/typescript/src/context/RookSyncGateProvider.d.ts.map +1 -1
- package/lib/typescript/src/context/RookSyncGateReducer.d.ts +15 -0
- package/lib/typescript/src/context/RookSyncGateReducer.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts +6 -2
- package/lib/typescript/src/hooks/useRookAndroidBackgroundSteps.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAppleHealth.d.ts +1 -1
- package/lib/typescript/src/hooks/useRookAppleHealth.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts +9 -0
- package/lib/typescript/src/hooks/useRookAppleHealthVariables.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts +6 -0
- package/lib/typescript/src/hooks/useRookConfiguration.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookDataSources.d.ts +6 -0
- package/lib/typescript/src/hooks/useRookDataSources.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookEvents.d.ts +9 -1
- package/lib/typescript/src/hooks/useRookEvents.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookPermissions.d.ts +10 -0
- package/lib/typescript/src/hooks/useRookPermissions.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useRookSummaries.d.ts +6 -6
- package/lib/typescript/src/hooks/useRookSummaries.d.ts.map +1 -1
- package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts +16 -0
- package/lib/typescript/src/modules/hook/useRookAutoSync.d.ts.map +1 -1
- package/lib/typescript/src/types/PermissionsType.d.ts +6 -0
- package/lib/typescript/src/types/PermissionsType.d.ts.map +1 -0
- package/lib/typescript/src/utils/getNativeModule.d.ts +10 -0
- package/lib/typescript/src/utils/getNativeModule.d.ts.map +1 -0
- package/lib/typescript/src/utils/getRookModule.d.ts +7 -0
- package/lib/typescript/src/utils/getRookModule.d.ts.map +1 -1
- package/lib/typescript/src/utils/isModuleReady.d.ts +6 -0
- package/lib/typescript/src/utils/isModuleReady.d.ts.map +1 -1
- package/lib/typescript/src/utils/isValidDate.d.ts +6 -0
- package/lib/typescript/src/utils/isValidDate.d.ts.map +1 -1
- package/lib/typescript/src/utils/nativeModules.d.ts +14 -0
- package/lib/typescript/src/utils/nativeModules.d.ts.map +1 -0
- package/package.json +1 -1
- package/react-native-rook-sdk.podspec +1 -1
- package/lib/commonjs/utils/index.js +0 -69
- package/lib/commonjs/utils/index.js.map +0 -1
- package/lib/module/utils/index.js +0 -9
- package/lib/module/utils/index.js.map +0 -1
- package/lib/typescript/src/utils/index.d.ts +0 -9
- package/lib/typescript/src/utils/index.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useRookSyncGateContext","
|
|
1
|
+
{"version":3,"names":["useRef","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOniOS","nativeModules","useRookAppleHealthVariables","rookSync","ios","MAIN","state","ready","getTodaySteps","result","current"],"sourceRoot":"../../../src","sources":["hooks/useRookAppleHealthVariables.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,OAAOC,eAAe,MAAM,0BAA0B;AACtD,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,cAAc,QAAQ,yBAAyB;AACxD,OAAOC,aAAa,MAAM,wBAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,2BAA2B,GAAGA,CAAA,KAAM;EAC/C,MAAMC,QAAQ,GAAGP,MAAM,CAACE,eAAe,CAACG,aAAa,CAACG,GAAG,CAACC,IAAI,CAAC,CAAC;EAChE,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGV,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMW,aAAa,GAAG,MAAAA,CAAA,KAA2B;IAC/CR,cAAc,CAAC,CAAC;IAChBD,aAAa,CAACQ,KAAK,CAAC;IAEpB,MAAME,MAAM,GAAG,MAAMN,QAAQ,CAACO,OAAO,CAACF,aAAa,CAAC,CAAC;IACrD,OAAOC,MAAM;EACf,CAAC;EAED,OAAO;IACLF,KAAK;IACLC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
import { useRef } from 'react';
|
|
2
2
|
import { useRookSyncGateContext } from '../context/RookSyncGateContext';
|
|
3
|
-
import
|
|
3
|
+
import getNativeModule from '../utils/getNativeModule';
|
|
4
|
+
import { isModuleReady } from '../utils/isModuleReady';
|
|
5
|
+
import isRunningOnAndroid from '../utils/isRunningOnAndroid';
|
|
6
|
+
import { isRunningOniOS } from '../utils/isRunningOniOS';
|
|
7
|
+
import nativeModules from '../utils/nativeModules';
|
|
8
|
+
import { Platform } from 'react-native';
|
|
9
|
+
/**
|
|
10
|
+
* The `useRookConfiguration` hook provides various asynchronous methods for managing the configuration
|
|
11
|
+
* of the ROOK SDK
|
|
12
|
+
* @returns The `useRookConfiguration` function returns an object containing that allow the user to configure
|
|
13
|
+
* the SDK
|
|
14
|
+
*/
|
|
4
15
|
export const useRookConfiguration = () => {
|
|
5
|
-
const rookSync = useRef(
|
|
16
|
+
const rookSync = useRef(getNativeModule(Platform.select({
|
|
17
|
+
android: () => nativeModules.android.CONFIGURATION,
|
|
18
|
+
default: () => nativeModules.ios.MAIN
|
|
19
|
+
})()));
|
|
6
20
|
const {
|
|
7
21
|
state: {
|
|
8
22
|
ready,
|
|
@@ -129,9 +143,10 @@ export const useRookConfiguration = () => {
|
|
|
129
143
|
* value.
|
|
130
144
|
*/
|
|
131
145
|
const scheduleAndroidYesterdaySync = async doOnEnd => {
|
|
146
|
+
const syncModule = getNativeModule(nativeModules.android.SYNC);
|
|
132
147
|
isRunningOnAndroid();
|
|
133
148
|
isModuleReady(ready);
|
|
134
|
-
return
|
|
149
|
+
return syncModule.scheduleYesterdaySync({
|
|
135
150
|
clientUUID,
|
|
136
151
|
clientPassword: password,
|
|
137
152
|
environment,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useRookSyncGateContext","
|
|
1
|
+
{"version":3,"names":["useRef","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOnAndroid","isRunningOniOS","nativeModules","Platform","useRookConfiguration","rookSync","select","android","CONFIGURATION","default","ios","MAIN","state","ready","clientUUID","password","environment","dispatch","getUserID","result","current","type","userID","updateUserID","clearUserID","syncUserTimeZone","removeUserFromRook","enableAppleHealthSync","enableSync","disableAppleHealthSync","disableSync","isAppleHealthSyncEnabled","isSyncEnable","scheduleAndroidYesterdaySync","doOnEnd","syncModule","SYNC","scheduleYesterdaySync","clientPassword"],"sourceRoot":"../../../src","sources":["hooks/useRookConfiguration.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
import { useRef } from 'react';
|
|
2
|
+
import { isModuleReady } from '../utils/isModuleReady';
|
|
3
|
+
import { Platform } from 'react-native';
|
|
2
4
|
import { useRookSyncGateContext } from '../context/RookSyncGateContext';
|
|
3
|
-
import
|
|
5
|
+
import getNativeModule from '../utils/getNativeModule';
|
|
6
|
+
import nativeModules from '../utils/nativeModules';
|
|
7
|
+
/**
|
|
8
|
+
* The `useRookDataSources` hook provides functionality to interact with data sources in Rook,
|
|
9
|
+
* including retrieving available data sources, presenting a connections page, and revoking user
|
|
10
|
+
* authorization for a specific data source.
|
|
11
|
+
* @returns An object is being returned from the `useRookDataSources` hook to allow the user to access to the sources API
|
|
12
|
+
*/
|
|
4
13
|
export const useRookDataSources = () => {
|
|
5
|
-
const rookSync = useRef(
|
|
14
|
+
const rookSync = useRef(getNativeModule(Platform.select({
|
|
15
|
+
android: () => nativeModules.android.SYNC,
|
|
16
|
+
default: () => nativeModules.ios.MAIN
|
|
17
|
+
})()));
|
|
6
18
|
const {
|
|
7
19
|
state: {
|
|
8
20
|
ready
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useRookSyncGateContext","
|
|
1
|
+
{"version":3,"names":["useRef","isModuleReady","Platform","useRookSyncGateContext","getNativeModule","nativeModules","useRookDataSources","rookSync","select","android","SYNC","default","ios","MAIN","state","ready","getAvailableDataSources","options","current","presentDataSourceView","revokeDataSource","type"],"sourceRoot":"../../../src","sources":["hooks/useRookDataSources.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,OAAOC,eAAe,MAAM,0BAA0B;AACtD,OAAOC,aAAa,MAAM,wBAAwB;AAOlD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;EACtC,MAAMC,QAAQ,GAAGP,MAAM,CACrBI,eAAe,CACbF,QAAQ,CAACM,MAAM,CAAC;IACdC,OAAO,EAAEA,CAAA,KAAMJ,aAAa,CAACI,OAAO,CAACC,IAAI;IACzCC,OAAO,EAAEA,CAAA,KAAMN,aAAa,CAACO,GAAG,CAACC;EACnC,CAAC,CAAC,CAAC,CACL,CACF,CAAC;EAED,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGZ,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;EACE,MAAMa,uBAAuB,GAC3BC,OAAiB,IACS;IAC1BhB,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOR,QAAQ,CAACW,OAAO,CAACF,uBAAuB,CAACC,OAAO,CAAC;EAC1D,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAME,qBAAqB,GAAIF,OAAiB,IAAuB;IACrEhB,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOR,QAAQ,CAACW,OAAO,CAACC,qBAAqB,CAACF,OAAO,CAAC;EACxD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMG,gBAAgB,GAAIC,IAAoB,IAAuB;IACnEpB,aAAa,CAACc,KAAK,CAAC;IAEpB,OAAOR,QAAQ,CAACW,OAAO,CAACE,gBAAgB,CAACC,IAAI,CAAC;EAChD,CAAC;EAED,OAAO;IACLN,KAAK;IACLC,uBAAuB;IACvBG,qBAAqB;IACrBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1,24 +1,33 @@
|
|
|
1
1
|
import { useRef } from 'react';
|
|
2
2
|
import { useRookSyncGateContext } from '../context/RookSyncGateContext';
|
|
3
|
-
import
|
|
3
|
+
import getNativeModule from '../utils/getNativeModule';
|
|
4
|
+
import { isModuleReady } from '../utils/isModuleReady';
|
|
5
|
+
import isRunningOnAndroid from '../utils/isRunningOnAndroid';
|
|
6
|
+
import { isValidDate } from '../utils/isValidDate';
|
|
7
|
+
import { packageInfo } from '../utils/packageInfo';
|
|
8
|
+
import nativeModules from '../utils/nativeModules';
|
|
9
|
+
import { Platform } from 'react-native';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The `useRookEvents` hook defines multiple async functions to sync various
|
|
13
|
+
* health-related events and returns them along with a `ready` state.
|
|
14
|
+
* @returns The `useRookEvents` hook is being returned, which includes various functions for syncing
|
|
15
|
+
* different types of health events like body heart rate, physical heart rate, body oxygenation,
|
|
16
|
+
* physical oxygenation, training, temperature, blood pressure, blood glucose, and body metrics events.
|
|
17
|
+
* Each function takes a date parameter in the format YYYY-MM-DD and returns a boolean indicating if
|
|
18
|
+
* the sync was successful. Additionally,
|
|
19
|
+
*/
|
|
4
20
|
export const useRookEvents = () => {
|
|
5
|
-
const rookSync = useRef(
|
|
21
|
+
const rookSync = useRef(getNativeModule(Platform.select({
|
|
22
|
+
android: () => nativeModules.android.SYNC,
|
|
23
|
+
default: () => nativeModules.ios.MAIN
|
|
24
|
+
})()));
|
|
6
25
|
const {
|
|
7
26
|
state: {
|
|
8
27
|
ready
|
|
9
28
|
}
|
|
10
29
|
} = useRookSyncGateContext();
|
|
11
30
|
|
|
12
|
-
/**
|
|
13
|
-
* The function `syncEvents` asynchronously synchronizes yesterday's events and returns a
|
|
14
|
-
* boolean indicating success.
|
|
15
|
-
* @returns A boolean value is being returned from the `syncEvents` function.
|
|
16
|
-
*/
|
|
17
|
-
const syncEvents = () => {
|
|
18
|
-
isModuleReady(ready);
|
|
19
|
-
return rookSync.current.syncYesterdayEvents();
|
|
20
|
-
};
|
|
21
|
-
|
|
22
31
|
/**
|
|
23
32
|
* The function `syncBodyHeartRateEvents` takes a date string as input, performs some checks, and
|
|
24
33
|
* then syncs body heart rate events for that date.
|
|
@@ -89,11 +98,10 @@ export const useRookEvents = () => {
|
|
|
89
98
|
* @returns The function `syncTemperatureEvents` is returning a Promise that resolves to a boolean
|
|
90
99
|
* value.
|
|
91
100
|
*/
|
|
92
|
-
const syncTemperatureEvent =
|
|
101
|
+
const syncTemperatureEvent = date => {
|
|
93
102
|
isModuleReady(ready);
|
|
94
103
|
isValidDate(date);
|
|
95
|
-
|
|
96
|
-
return result;
|
|
104
|
+
return rookSync.current.syncTemperatureEvent(date);
|
|
97
105
|
};
|
|
98
106
|
|
|
99
107
|
/**
|
|
@@ -103,7 +111,7 @@ export const useRookEvents = () => {
|
|
|
103
111
|
* @returns function `syncBloodPressureEvents` is returning a `Promise` that resolves to a boolean
|
|
104
112
|
* value.`
|
|
105
113
|
*/
|
|
106
|
-
const syncPressureEvent =
|
|
114
|
+
const syncPressureEvent = date => {
|
|
107
115
|
isModuleReady(ready);
|
|
108
116
|
isValidDate(date);
|
|
109
117
|
if (packageInfo.isAndroid) return rookSync.current.syncBloodPressureEvents(date);
|
|
@@ -118,7 +126,7 @@ export const useRookEvents = () => {
|
|
|
118
126
|
* @returns function `syncBloodGlucoseEvents` is returning a `Promise` that resolves to a boolean
|
|
119
127
|
* value.`
|
|
120
128
|
*/
|
|
121
|
-
const syncGlucoseEvent =
|
|
129
|
+
const syncGlucoseEvent = date => {
|
|
122
130
|
isModuleReady(ready);
|
|
123
131
|
isValidDate(date);
|
|
124
132
|
if (packageInfo.isAndroid) return rookSync.current.syncBloodGlucoseEvents(date);
|
|
@@ -132,11 +140,10 @@ export const useRookEvents = () => {
|
|
|
132
140
|
* @returns function `syncBodyMetricsEvents` is returning a `Promise` that resolves to a boolean
|
|
133
141
|
* value.`
|
|
134
142
|
*/
|
|
135
|
-
const syncBodyMetricsEvent =
|
|
143
|
+
const syncBodyMetricsEvent = date => {
|
|
136
144
|
isModuleReady(ready);
|
|
137
145
|
isValidDate(date);
|
|
138
|
-
|
|
139
|
-
return result;
|
|
146
|
+
return rookSync.current.syncBodyMetricsEvent(date);
|
|
140
147
|
};
|
|
141
148
|
|
|
142
149
|
/**
|
|
@@ -146,12 +153,11 @@ export const useRookEvents = () => {
|
|
|
146
153
|
* @returns The function `syncHydrationEvents` is returning a `Promise` that resolves to a boolean
|
|
147
154
|
* value.
|
|
148
155
|
*/
|
|
149
|
-
const syncHealthConnectHydrationEvents =
|
|
156
|
+
const syncHealthConnectHydrationEvents = date => {
|
|
150
157
|
isRunningOnAndroid();
|
|
151
158
|
isModuleReady(ready);
|
|
152
159
|
isValidDate(date);
|
|
153
|
-
|
|
154
|
-
return result;
|
|
160
|
+
return rookSync.current.syncHydrationEvents(date);
|
|
155
161
|
};
|
|
156
162
|
|
|
157
163
|
/**
|
|
@@ -160,12 +166,11 @@ export const useRookEvents = () => {
|
|
|
160
166
|
* particular format, such as "YYYY-MM-DD".
|
|
161
167
|
* @returns The function `syncNutritionEvents` is returning the result of the sync
|
|
162
168
|
*/
|
|
163
|
-
const syncHealthConnectNutritionEvents =
|
|
169
|
+
const syncHealthConnectNutritionEvents = date => {
|
|
164
170
|
isRunningOnAndroid();
|
|
165
171
|
isModuleReady(ready);
|
|
166
172
|
isValidDate(date);
|
|
167
|
-
|
|
168
|
-
return result;
|
|
173
|
+
return rookSync.current.syncNutritionEvents(date);
|
|
169
174
|
};
|
|
170
175
|
|
|
171
176
|
/**
|
|
@@ -173,7 +178,7 @@ export const useRookEvents = () => {
|
|
|
173
178
|
* @returns The function `syncPendingEvents` is returning the result of the
|
|
174
179
|
* call, which is a boolean value.
|
|
175
180
|
*/
|
|
176
|
-
const reSyncFailedEvents =
|
|
181
|
+
const reSyncFailedEvents = () => {
|
|
177
182
|
isModuleReady(ready);
|
|
178
183
|
if (packageInfo.isAndroid) return rookSync.current.syncPendingEvents();
|
|
179
184
|
return new Promise(resolve => {
|
|
@@ -182,7 +187,6 @@ export const useRookEvents = () => {
|
|
|
182
187
|
};
|
|
183
188
|
return {
|
|
184
189
|
ready,
|
|
185
|
-
syncEvents,
|
|
186
190
|
reSyncFailedEvents,
|
|
187
191
|
syncBodyHeartRateEvent,
|
|
188
192
|
syncPhysicalHeartRateEvent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useRookSyncGateContext","
|
|
1
|
+
{"version":3,"names":["useRef","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOnAndroid","isValidDate","packageInfo","nativeModules","Platform","useRookEvents","rookSync","select","android","SYNC","default","ios","MAIN","state","ready","syncBodyHeartRateEvent","date","current","syncPhysicalHeartRateEvent","syncBodyOxygenationEvent","syncPhysicalOxygenationEvent","syncTrainingEvent","isAndroid","syncPhysicalEvents","syncTemperatureEvent","syncPressureEvent","syncBloodPressureEvents","syncGlucoseEvent","syncBloodGlucoseEvents","syncBodyMetricsEvent","syncHealthConnectHydrationEvents","syncHydrationEvents","syncHealthConnectNutritionEvents","syncNutritionEvents","reSyncFailedEvents","syncPendingEvents","Promise","resolve","syncBloodPressureEvent","syncBloodGlucoseEvent"],"sourceRoot":"../../../src","sources":["hooks/useRookEvents.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
import { useRef } from 'react';
|
|
2
|
+
import { Platform } from 'react-native';
|
|
2
3
|
import { useRookSyncGateContext } from '../context/RookSyncGateContext';
|
|
3
|
-
import
|
|
4
|
+
import getNativeModule from '../utils/getNativeModule';
|
|
5
|
+
import { isModuleReady } from '../utils/isModuleReady';
|
|
6
|
+
import isRunningOnAndroid from '../utils/isRunningOnAndroid';
|
|
7
|
+
import { isRunningOniOS } from '../utils/isRunningOniOS';
|
|
8
|
+
import { packageInfo } from '../utils/packageInfo';
|
|
9
|
+
import nativeModules from '../utils/nativeModules';
|
|
10
|
+
/**
|
|
11
|
+
* The `useRookPermissions` hook manages permissions for accessing Apple Health and Health Connect data,
|
|
12
|
+
* including requesting various types of permissions and checking their status.
|
|
13
|
+
* @returns The `useRookPermissions` hook is being returned, which provides various functions related
|
|
14
|
+
* to requesting and checking permissions for Apple Health. The hook returns an object containing the
|
|
15
|
+
* following properties and functions:
|
|
16
|
+
*/
|
|
4
17
|
export const useRookPermissions = () => {
|
|
5
|
-
const rookSync = useRef(
|
|
18
|
+
const rookSync = useRef(getNativeModule(Platform.select({
|
|
19
|
+
android: () => nativeModules.android.PERMISSIONS,
|
|
20
|
+
default: () => nativeModules.ios.MAIN
|
|
21
|
+
})()));
|
|
6
22
|
const {
|
|
7
23
|
state: {
|
|
8
24
|
ready
|
|
@@ -26,12 +42,23 @@ export const useRookPermissions = () => {
|
|
|
26
42
|
* access.
|
|
27
43
|
* @returns The function `healthConnectHasPermissions` is returning a boolean`.
|
|
28
44
|
*/
|
|
29
|
-
const healthConnectHasPermissions =
|
|
45
|
+
const healthConnectHasPermissions = () => {
|
|
30
46
|
isRunningOnAndroid();
|
|
31
47
|
isModuleReady(ready);
|
|
32
48
|
return rookSync.current.checkPermissions();
|
|
33
49
|
};
|
|
34
50
|
|
|
51
|
+
/**
|
|
52
|
+
* The function `appleHealthHasPermissions` checks if the app has permissions for apple health data
|
|
53
|
+
* access.
|
|
54
|
+
* @returns The function `healthConnectHasPermissions` is returning a boolean`.
|
|
55
|
+
*/
|
|
56
|
+
const appleHealthHasPermissions = param => {
|
|
57
|
+
isRunningOniOS();
|
|
58
|
+
isModuleReady(ready);
|
|
59
|
+
return rookSync.current.checkPermissionsStatus(param ? param.type : null);
|
|
60
|
+
};
|
|
61
|
+
|
|
35
62
|
/**
|
|
36
63
|
* The function `requestAllAppleHealthPermissions` requests all permissions for apple health
|
|
37
64
|
*/
|
|
@@ -52,7 +79,7 @@ export const useRookPermissions = () => {
|
|
|
52
79
|
const requestAllHealthConnectPermissions = async () => {
|
|
53
80
|
isRunningOnAndroid();
|
|
54
81
|
isModuleReady(ready);
|
|
55
|
-
return rookSync.current.
|
|
82
|
+
return rookSync.current.requestAllPermissions();
|
|
56
83
|
};
|
|
57
84
|
|
|
58
85
|
/**
|
|
@@ -60,9 +87,6 @@ export const useRookPermissions = () => {
|
|
|
60
87
|
*/
|
|
61
88
|
const requestAllPermissions = async () => {
|
|
62
89
|
isModuleReady(ready);
|
|
63
|
-
if (packageInfo.isAndroid) {
|
|
64
|
-
return rookSync.current.requestPermissions();
|
|
65
|
-
}
|
|
66
90
|
await rookSync.current.requestAllPermissions();
|
|
67
91
|
setTimeout(() => {
|
|
68
92
|
dispatch({
|
|
@@ -71,6 +95,10 @@ export const useRookPermissions = () => {
|
|
|
71
95
|
}, 60000);
|
|
72
96
|
return 'REQUEST_SENT';
|
|
73
97
|
};
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* The function `openAppleHealthSettings` opens the apple health settings
|
|
101
|
+
*/
|
|
74
102
|
const openAppleHealthSettings = async () => {
|
|
75
103
|
isRunningOniOS();
|
|
76
104
|
isModuleReady(ready);
|
|
@@ -100,7 +128,8 @@ export const useRookPermissions = () => {
|
|
|
100
128
|
/**
|
|
101
129
|
* The function `hasAndroidBackgroundPermissions` checks if the app has background permissions on an
|
|
102
130
|
* Android device.
|
|
103
|
-
* @returns The function `
|
|
131
|
+
* @returns The function `hasBackgroundPermissions()` is returning a boolean indicating the status of
|
|
132
|
+
* the permissions.
|
|
104
133
|
*/
|
|
105
134
|
const hasAndroidBackgroundPermissions = () => {
|
|
106
135
|
isRunningOnAndroid();
|
|
@@ -116,10 +145,11 @@ export const useRookPermissions = () => {
|
|
|
116
145
|
const shouldRequestAndroidBackgroundPermissions = () => {
|
|
117
146
|
isRunningOnAndroid();
|
|
118
147
|
isModuleReady(ready);
|
|
119
|
-
return rookSync.current.
|
|
148
|
+
return rookSync.current.shouldRequestAndroidBackgroundPermissions();
|
|
120
149
|
};
|
|
121
150
|
return {
|
|
122
151
|
ready,
|
|
152
|
+
appleHealthHasPermissions,
|
|
123
153
|
checkAvailability,
|
|
124
154
|
requestAllAppleHealthPermissions,
|
|
125
155
|
requestAllHealthConnectPermissions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useRookSyncGateContext","
|
|
1
|
+
{"version":3,"names":["useRef","Platform","useRookSyncGateContext","getNativeModule","isModuleReady","isRunningOnAndroid","isRunningOniOS","packageInfo","nativeModules","useRookPermissions","rookSync","select","android","PERMISSIONS","default","ios","MAIN","state","ready","dispatch","checkAvailability","isAndroid","current","Promise","resolve","healthConnectHasPermissions","checkPermissions","appleHealthHasPermissions","param","checkPermissionsStatus","type","requestAllAppleHealthPermissions","setTimeout","requestAllPermissions","requestAllHealthConnectPermissions","openAppleHealthSettings","openHealthConnectSettings","requestAndroidBackgroundPermissions","hasAndroidBackgroundPermissions","shouldRequestAndroidBackgroundPermissions"],"sourceRoot":"../../../src","sources":["hooks/useRookPermissions.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,34 +1,28 @@
|
|
|
1
1
|
import { useRef } from 'react';
|
|
2
|
+
import { Platform } from 'react-native';
|
|
2
3
|
import { useRookSyncGateContext } from '../context/RookSyncGateContext';
|
|
3
|
-
import
|
|
4
|
+
import getNativeModule from '../utils/getNativeModule';
|
|
5
|
+
import { isModuleReady } from '../utils/isModuleReady';
|
|
6
|
+
import { isValidDate } from '../utils/isValidDate';
|
|
7
|
+
import nativeModules from '../utils/nativeModules';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The `useRookSummaries` hook provides methods to sync various types of summaries and handle
|
|
11
|
+
* failed syncs using a Rook module
|
|
12
|
+
* @returns The `useRookSummaries` hook returns an object with the properties and methods that allows the user to
|
|
13
|
+
* sync summaries with ROOK
|
|
14
|
+
*/
|
|
4
15
|
export const useRookSummaries = () => {
|
|
5
|
-
const rookSync = useRef(
|
|
16
|
+
const rookSync = useRef(getNativeModule(Platform.select({
|
|
17
|
+
android: () => nativeModules.android.SYNC,
|
|
18
|
+
default: () => nativeModules.ios.MAIN
|
|
19
|
+
})()));
|
|
6
20
|
const {
|
|
7
21
|
state: {
|
|
8
22
|
ready
|
|
9
23
|
}
|
|
10
24
|
} = useRookSyncGateContext();
|
|
11
25
|
|
|
12
|
-
/**
|
|
13
|
-
* @deprecated this function is not longer needed and will be removed
|
|
14
|
-
* Checks if in the specific date the health kit contains available data
|
|
15
|
-
* @param {'SLEEP' | 'PHYSICAL' | 'BODY'} props.type - specifies the type of summary that you want to sync
|
|
16
|
-
* @param {string} props.date - The `date` parameter is a string that represents a specific date for which
|
|
17
|
-
* the physical summary is being requested, should have the YYYY-MM-DD format.
|
|
18
|
-
* @returns
|
|
19
|
-
*/
|
|
20
|
-
const shouldSyncFor = props => {
|
|
21
|
-
isModuleReady(ready);
|
|
22
|
-
const {
|
|
23
|
-
type,
|
|
24
|
-
date
|
|
25
|
-
} = props;
|
|
26
|
-
if (!packageInfo.isAndroid) {
|
|
27
|
-
return new Promise(resolve => resolve(true));
|
|
28
|
-
}
|
|
29
|
-
return rookSync.current.shouldSyncFor(type, date);
|
|
30
|
-
};
|
|
31
|
-
|
|
32
26
|
/**
|
|
33
27
|
* The function `syncSleepSummary` sync sleep summary for the specific date.
|
|
34
28
|
* @param {string} date - The `date` parameter is a string that represents a specific date for which
|
|
@@ -75,7 +69,6 @@ export const useRookSummaries = () => {
|
|
|
75
69
|
};
|
|
76
70
|
return {
|
|
77
71
|
ready,
|
|
78
|
-
shouldSyncFor,
|
|
79
72
|
reSyncFailedSummaries,
|
|
80
73
|
syncSleepSummary,
|
|
81
74
|
syncPhysicalSummary,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useRookSyncGateContext","
|
|
1
|
+
{"version":3,"names":["useRef","Platform","useRookSyncGateContext","getNativeModule","isModuleReady","isValidDate","nativeModules","useRookSummaries","rookSync","select","android","SYNC","default","ios","MAIN","state","ready","syncSleepSummary","date","current","syncPhysicalSummary","syncBodySummary","reSyncFailedSummaries","syncPendingSummaries"],"sourceRoot":"../../../src","sources":["hooks/useRookSummaries.ts"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,OAAOC,eAAe,MAAM,0BAA0B;AACtD,SAASC,aAAa,QAAQ,wBAAwB;AACtD,SAASC,WAAW,QAAQ,sBAAsB;AAClD,OAAOC,aAAa,MAAM,wBAAwB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;EACpC,MAAMC,QAAQ,GAAGR,MAAM,CACrBG,eAAe,CACbF,QAAQ,CAACQ,MAAM,CAAC;IACdC,OAAO,EAAEA,CAAA,KAAMJ,aAAa,CAACI,OAAO,CAACC,IAAI;IACzCC,OAAO,EAAEA,CAAA,KAAMN,aAAa,CAACO,GAAG,CAACC;EACnC,CAAC,CAAC,CAAC,CACL,CACF,CAAC;EAED,MAAM;IACJC,KAAK,EAAE;MAAEC;IAAM;EACjB,CAAC,GAAGd,sBAAsB,CAAC,CAAC;;EAE5B;AACF;AACA;AACA;AACA;AACA;EACE,MAAMe,gBAAgB,GAAIC,IAAY,IAAuB;IAC3Dd,aAAa,CAACY,KAAK,CAAC;IACpBX,WAAW,CAACa,IAAI,CAAC;IAEjB,OAAOV,QAAQ,CAACW,OAAO,CAACF,gBAAgB,CAACC,IAAI,CAAC;EAChD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAME,mBAAmB,GAAIF,IAAY,IAAuB;IAC9Dd,aAAa,CAACY,KAAK,CAAC;IACpBX,WAAW,CAACa,IAAI,CAAC;IAEjB,OAAOV,QAAQ,CAACW,OAAO,CAACC,mBAAmB,CAACF,IAAI,CAAC;EACnD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;EACE,MAAMG,eAAe,GAAIH,IAAY,IAAuB;IAC1Dd,aAAa,CAACY,KAAK,CAAC;IACpBX,WAAW,CAACa,IAAI,CAAC;IAEjB,OAAOV,QAAQ,CAACW,OAAO,CAACE,eAAe,CAACH,IAAI,CAAC;EAC/C,CAAC;;EAED;AACF;AACA;AACA;EACE,MAAMI,qBAAqB,GAAGA,CAAA,KAAwB;IACpDlB,aAAa,CAACY,KAAK,CAAC;IACpB,OAAOR,QAAQ,CAACW,OAAO,CAACI,oBAAoB,CAAC,CAAC;EAChD,CAAC;EAED,OAAO;IACLP,KAAK;IACLM,qBAAqB;IACrBL,gBAAgB;IAChBG,mBAAmB;IACnBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
|