react-native-rook-sdk 0.3.1 → 0.3.2

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.
@@ -16,12 +16,14 @@ import com.rookmotion.rook.sdk.RookHelpers
16
16
  import com.rookmotion.rook.sdk.RookStepsManager
17
17
  import com.rookmotion.rook.sdk.RookStepsPermissions
18
18
  import com.rookmotion.rook.sdk.RookSummaryManager
19
+ import com.rookmotion.rook.sdk.RookYesterdaySyncManager
19
20
  import com.rookmotion.rook.sdk.RookYesterdaySyncPermissions
20
21
  import com.rookmotion.rook.sdk.domain.enums.HealthPermission
21
22
  import com.rookmotion.rook.sdk.domain.environment.RookAndroidClass
22
23
  import com.rookmotion.rook.sdk.domain.environment.RookEnvironment
23
24
  import com.rookmotion.rook.sdk.domain.model.RookConfiguration
24
25
  import com.rookmotion.rook.sdk.domain.enums.HealthDataType
26
+ import com.rookmotion.rook.sdk.domain.enums.SyncInstruction
25
27
  import com.rookmotion.rook.sdk.domain.enums.SyncStatus
26
28
  import com.rookmotion.rook.sdk.domain.model.DataSource
27
29
  import kotlinx.coroutines.CoroutineScope
@@ -40,6 +42,10 @@ class RookSdkModule(reactContext: ReactApplicationContext) :
40
42
  private var scope: CoroutineScope = CoroutineScope(SupervisorJob() + Dispatchers.Main)
41
43
  private var listenerCount = 0
42
44
 
45
+ private val rookSynManager: RookYesterdaySyncManager by lazy {
46
+ RookYesterdaySyncManager(reactApplicationContext)
47
+ }
48
+
43
49
  private val stepsScope: CoroutineScope by lazy {
44
50
  CoroutineScope(SupervisorJob() + Dispatchers.Main)
45
51
  }
@@ -108,6 +114,14 @@ class RookSdkModule(reactContext: ReactApplicationContext) :
108
114
  return array
109
115
  }
110
116
 
117
+ private fun determineDoEndValue(permissionString: String): SyncInstruction {
118
+ return when (permissionString) {
119
+ "oldest" -> SyncInstruction.SYNC_OLDEST
120
+ "latest" -> SyncInstruction.SYNC_LATEST
121
+ else -> SyncInstruction.NOTHING
122
+ }
123
+ }
124
+
111
125
  @ReactMethod
112
126
  fun getUserID(promise: Promise) {
113
127
  try {
@@ -525,6 +539,35 @@ class RookSdkModule(reactContext: ReactApplicationContext) :
525
539
  }
526
540
 
527
541
  // MARK: - Health Connect Background
542
+ @ReactMethod
543
+ fun scheduleYesterdaySync(config: ReadableMap, promise: Promise) {
544
+ scope.launch {
545
+ try {
546
+ var environment = RookEnvironment.SANDBOX
547
+
548
+ if (config.getString("environment") == "production")
549
+ environment = RookEnvironment.PRODUCTION
550
+
551
+ val doEnd = determineDoEndValue(config.getString("doOnEnd") ?: "")
552
+
553
+ rookSynManager.scheduleYesterdaySync(
554
+ enableLogs = true,
555
+ clientUUID = config.getString("clientUUID") ?: "",
556
+ secretKey = config.getString(",") ?: "",
557
+ environment = environment,
558
+ doOnEnd = doEnd
559
+ )
560
+
561
+ promise.resolve(true)
562
+
563
+ }
564
+ catch (e: Exception) {
565
+ promise.reject(e)
566
+ }
567
+ }
568
+
569
+ }
570
+
528
571
  @ReactMethod
529
572
  fun requestAndroidBackgroundPermissions(promise: Promise) {
530
573
  try {
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.packageInfo = void 0;
7
7
  var _reactNative = require("react-native");
8
8
  const packageInfo = exports.packageInfo = {
9
- version: '0.3.1',
9
+ version: '0.3.2',
10
10
  isAndroid: _reactNative.Platform.OS === 'android',
11
11
  debug: false
12
12
  };
@@ -1,6 +1,6 @@
1
1
  import { Platform } from 'react-native';
2
2
  export const packageInfo = {
3
- version: '0.3.1',
3
+ version: '0.3.2',
4
4
  isAndroid: Platform.OS === 'android',
5
5
  debug: false
6
6
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-rook-sdk",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Rook sdk for apple health and health connect",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",