@infilectorg/infiviz-shots-react-sdk 1.0.22 → 1.0.27

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 (23) hide show
  1. package/android/src/main/java/com/infilect/infivizshotsreactsdk/InfivizShotsReactSdkModule.kt +78 -16
  2. package/ios/InfivizShotSDK.xcframework/Info.plist +5 -5
  3. package/ios/InfivizShotSDK.xcframework/ios-arm64/InfivizShotSDK.framework/Assets.car +0 -0
  4. package/ios/InfivizShotSDK.xcframework/ios-arm64/InfivizShotSDK.framework/InfivizShotSDK +0 -0
  5. package/ios/InfivizShotSDK.xcframework/ios-arm64/InfivizShotSDK.framework/Modules/InfivizShotSDK.swiftmodule/arm64-apple-ios.abi.json +44 -44
  6. package/ios/InfivizShotSDK.xcframework/ios-arm64/InfivizShotSDK.framework/Modules/InfivizShotSDK.swiftmodule/arm64-apple-ios.swiftmodule +0 -0
  7. package/ios/InfivizShotSDK.xcframework/ios-arm64/InfivizShotSDK.framework/shotsSDK.storyboardc/xUL-ol-gRQ-view-6A8-mO-Rhi.nib +0 -0
  8. package/ios/InfivizShotSDK.xcframework/ios-arm64_x86_64-simulator/InfivizShotSDK.framework/Assets.car +0 -0
  9. package/ios/InfivizShotSDK.xcframework/ios-arm64_x86_64-simulator/InfivizShotSDK.framework/InfivizShotSDK +0 -0
  10. package/ios/InfivizShotSDK.xcframework/ios-arm64_x86_64-simulator/InfivizShotSDK.framework/Modules/InfivizShotSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +44 -44
  11. package/ios/InfivizShotSDK.xcframework/ios-arm64_x86_64-simulator/InfivizShotSDK.framework/Modules/InfivizShotSDK.swiftmodule/arm64-apple-ios-simulator.swiftmodule +0 -0
  12. package/ios/InfivizShotSDK.xcframework/ios-arm64_x86_64-simulator/InfivizShotSDK.framework/Modules/InfivizShotSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +44 -44
  13. package/ios/InfivizShotSDK.xcframework/ios-arm64_x86_64-simulator/InfivizShotSDK.framework/Modules/InfivizShotSDK.swiftmodule/x86_64-apple-ios-simulator.swiftmodule +0 -0
  14. package/ios/InfivizShotSDK.xcframework/ios-arm64_x86_64-simulator/InfivizShotSDK.framework/shotsSDK.storyboardc/xUL-ol-gRQ-view-6A8-mO-Rhi.nib +0 -0
  15. package/ios/InfivizShotsReactSdk.m +2 -1
  16. package/ios/InfivizShotsReactSdk.swift +168 -97
  17. package/lib/module/NativeInfivizShotsReactSdk.js.map +1 -1
  18. package/lib/module/index.js +10 -10
  19. package/lib/module/index.js.map +1 -1
  20. package/package.json +1 -1
  21. package/react-native-infiviz-shots.podspec +1 -1
  22. package/src/NativeInfivizShotsReactSdk.tsx +6 -3
  23. package/src/index.tsx +11 -10
@@ -88,8 +88,8 @@ class InfivizShotsReactSdk: RCTEventEmitter {
88
88
  if self.hasListeners {
89
89
  let payload: [String: Any] = [
90
90
  "status": "200",
91
- "message": response,
92
- "sessionId": sessionId as String
91
+ "universalSessionID": response,
92
+ "temporarySessionID": sessionId as String
93
93
  ]
94
94
  self.sendEvent(withName: "SyncEvent", body: payload)
95
95
  }
@@ -126,8 +126,8 @@ class InfivizShotsReactSdk: RCTEventEmitter {
126
126
  if self.hasListeners {
127
127
  let payload: [String: Any] = [
128
128
  "status": "200",
129
- "message": message,
130
- "sessionId": sessionId
129
+ "universalSessionID": message,
130
+ "temporarySessionID": sessionId
131
131
  ]
132
132
  self.sendEvent(withName: "SyncEvent", body: payload)
133
133
  }
@@ -135,8 +135,8 @@ class InfivizShotsReactSdk: RCTEventEmitter {
135
135
  if self.hasListeners {
136
136
  let payload: [String: Any] = [
137
137
  "status": "400",
138
- "message": error.localizedDescription,
139
- "sessionId": sessionId
138
+ "universalSessionID": error,
139
+ "temporarySessionID": sessionId
140
140
  ]
141
141
  self.sendEvent(withName: "SyncEvent", body: payload)
142
142
  }
@@ -146,9 +146,6 @@ class InfivizShotsReactSdk: RCTEventEmitter {
146
146
 
147
147
  // MARK: - Get Session Result
148
148
 
149
-
150
-
151
-
152
149
  @objc
153
150
  func getSessionStatus(
154
151
  _ temporarySessionID: NSString,
@@ -189,20 +186,91 @@ class InfivizShotsReactSdk: RCTEventEmitter {
189
186
  }
190
187
  }
191
188
 
192
-
193
-
194
- // MARK: - Fetch Session Details
189
+ // MARK: - Fetch Session Details
195
190
  @objc
196
191
  func fetchSessionDetails(_ temporarySessionID: NSString, resolver resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) {
197
192
  InfivizShotsSDK.shared.fetchSessionDetails(temporarySessionID: temporarySessionID as String) { result in
198
193
  switch result {
199
194
  case .success(let value):
200
- resolve(value)
195
+ // Convert any value to a clean dictionary that handles Optionals properly
196
+ do {
197
+ let cleanDict = self.convertToCleanDictionary(value)
198
+ let jsonData = try JSONSerialization.data(withJSONObject: cleanDict, options: [])
199
+ let jsonString = String(data: jsonData, encoding: .utf8) ?? ""
200
+ resolve(jsonString)
201
+ } catch {
202
+ print("InfivizShotsReactSdk: JSON serialization error: \(error)")
203
+ reject("SERIALIZATION_FAILED", "Failed to serialize data: \(error)", nil)
204
+ }
201
205
  case .failure(let error):
202
206
  reject("RESULT_FAILED", "Failed to get result: \(error)", nil)
203
207
  }
204
208
  }
205
209
  }
210
+
211
+ // Helper method to convert any value to a clean dictionary that handles Optionals
212
+ private func convertToCleanDictionary(_ value: Any) -> [String: Any] {
213
+ if let dict = value as? [String: Any] {
214
+ return cleanDictionary(dict)
215
+ } else {
216
+ // Try to convert to dictionary using Mirror reflection
217
+ let mirror = Mirror(reflecting: value)
218
+ var result: [String: Any] = [:]
219
+
220
+ for child in mirror.children {
221
+ if let label = child.label {
222
+ result[label] = unwrapOptional(child.value)
223
+ }
224
+ }
225
+ return result
226
+ }
227
+ }
228
+
229
+ // Recursively clean a dictionary to handle Optionals
230
+ private func cleanDictionary(_ dict: [String: Any]) -> [String: Any] {
231
+ var cleaned: [String: Any] = [:]
232
+
233
+ for (key, value) in dict {
234
+ cleaned[key] = unwrapOptional(value)
235
+ }
236
+
237
+ return cleaned
238
+ }
239
+
240
+ // Unwrap Optional values and clean nested structures
241
+ private func unwrapOptional(_ value: Any) -> Any {
242
+ let mirror = Mirror(reflecting: value)
243
+
244
+ // Check if it's an Optional by checking the type name
245
+ let typeName = String(describing: type(of: value))
246
+ if typeName.hasPrefix("Optional<") {
247
+ if let unwrapped = mirror.children.first?.value {
248
+ return unwrapOptional(unwrapped)
249
+ } else {
250
+ return NSNull() // nil value
251
+ }
252
+ }
253
+
254
+ // Handle arrays
255
+ if let array = value as? [Any] {
256
+ return array.map { unwrapOptional($0) }
257
+ }
258
+
259
+ // Handle dictionaries
260
+ if let dict = value as? [String: Any] {
261
+ return cleanDictionary(dict)
262
+ }
263
+
264
+ // Handle Date objects
265
+ if let date = value as? Date {
266
+ let formatter = DateFormatter()
267
+ formatter.dateFormat = "yyyy-MM-dd HH:mm:ss Z"
268
+ return formatter.string(from: date)
269
+ }
270
+
271
+ // Return the value as-is if it's a basic type
272
+ return value
273
+ }
206
274
 
207
275
  // MARK: - Logout
208
276
  @objc
@@ -252,7 +320,7 @@ class InfivizShotsReactSdk: RCTEventEmitter {
252
320
  category: NSString,
253
321
  maxPhoto: NSNumber,
254
322
  maxPhotoOneGo: NSNumber,
255
- metaData: NSDictionary?,
323
+ metaData: NSDictionary,
256
324
  resolver resolve: @escaping RCTPromiseResolveBlock,
257
325
  rejecter reject: @escaping RCTPromiseRejectBlock) {
258
326
 
@@ -401,58 +469,58 @@ class InfivizShotsReactSdk: RCTEventEmitter {
401
469
  }
402
470
 
403
471
  @objc(resumeCamera:metaData:resolver:rejecter:)
404
- func resumeCamera(
405
- _ temporarySessionID: NSString,
406
- metaData: NSDictionary?,
407
- resolver resolve: @escaping RCTPromiseResolveBlock,
408
- rejecter reject: @escaping RCTPromiseRejectBlock
409
- ) {
410
- // Build whatever CameraContext your SDK needs. In your original UI code,
411
- // you were reading from text fields (e.g. shelfTextField.text, traderTextField.text, etc.).
412
- // In a module method you typically won't have those outlets available, so you'll
413
- // need to pass any required "taskName", "storeTitle" etc. from JS into this call
414
- // or hard‐code defaults here. For now, I'll show a minimal example:
415
-
416
- let context = CameraContext(
417
- taskName: "", // ← pass in from JS if you really need it
418
- storeTitle: "",
419
- storeId: "",
420
- photoType: "",
421
- category: "",
422
- maxPhoto: 0,
423
- maxPhotoOneGo: 0,
424
- navigationController: nil // ← no UIKit nav controller in RN module
425
- )
426
-
427
- // Instantiate your SDK's camera controller just like before:
428
- let controller = InfilectSDKCameraActivityForResult(cameraContext: context)
429
-
430
- // Convert NSDictionary to [String: Any] if provided
431
- let metadataDict: [String: Any]? = metaData as? [String: Any]
472
+ func resumeCamera(
473
+ _ temporarySessionID: NSString,
474
+ metaData: NSDictionary,
475
+ resolver resolve: @escaping RCTPromiseResolveBlock,
476
+ rejecter reject: @escaping RCTPromiseRejectBlock
477
+ ) {
478
+ // Build whatever CameraContext your SDK needs. In your original UI code,
479
+ // you were reading from text fields (e.g. shelfTextField.text, traderTextField.text, etc.).
480
+ // In a module method you typically won't have those outlets available, so you'll
481
+ // need to pass any required "taskName", "storeTitle" etc. from JS into this call
482
+ // or hard‐code defaults here. For now, I'll show a minimal example:
483
+
484
+ let context = CameraContext(
485
+ taskName: "", // ← pass in from JS if you really need it
486
+ storeTitle: "",
487
+ storeId: "",
488
+ photoType: "",
489
+ category: "",
490
+ maxPhoto: 0,
491
+ maxPhotoOneGo: 0,
492
+ navigationController: nil // ← no UIKit nav controller in RN module
493
+ )
494
+
495
+ // Instantiate your SDK's camera controller just like before:
496
+ let controller = InfilectSDKCameraActivityForResult(cameraContext: context)
497
+
498
+ // Convert NSDictionary to [String: Any]
499
+ let metadataDict: [String: Any]? = metaData as? [String: Any]
500
+
501
+ // Call the updated `resumeCamera(sessionID:metaData:completion:)` API with metadata
502
+ controller.resumeCamera(sessionID: temporarySessionID as String, metaData: metadataDict) { result in
503
+ switch result {
504
+ case .success(let successString):
505
+ // fulfill the JS promise with the returned string
506
+ resolve(successString)
432
507
 
433
- // Call the updated `resumeCamera(sessionID:metaData:completion:)` API with metadata
434
- controller.resumeCamera(sessionID: temporarySessionID as String, metaData: metadataDict) { result in
435
- switch result {
436
- case .success(let successString):
437
- // fulfill the JS promise with the returned string
438
- resolve(successString)
439
-
440
- case .failure(let sdkError):
441
- // reject the JS promise
442
- let nsError = sdkError as NSError
443
- reject(
444
- "ResumeCameraError",
445
- "Failed to resume camera: \(nsError.localizedDescription)",
446
- nsError
447
- )
448
- }
449
- }
450
- }
508
+ case .failure(let sdkError):
509
+ // reject the JS promise
510
+ let nsError = sdkError as NSError
511
+ reject(
512
+ "ResumeCameraError",
513
+ "Failed to resume camera: \(nsError.localizedDescription)",
514
+ nsError
515
+ )
516
+ }
517
+ }
518
+ }
451
519
 
452
520
  @objc
453
521
  func deletePhoto(
454
522
  _ imageURI: NSString,
455
- sessionID: NSString,
523
+ temporarySessionId: NSString,
456
524
  resolver resolve: @escaping RCTPromiseResolveBlock,
457
525
  rejecter reject: @escaping RCTPromiseRejectBlock
458
526
  ) {
@@ -461,13 +529,14 @@ class InfivizShotsReactSdk: RCTEventEmitter {
461
529
  storeTitle: "",
462
530
  storeId: "",
463
531
  photoType: "",
532
+
464
533
  category: "",
465
534
  maxPhoto: 0,
466
535
  maxPhotoOneGo: 0,
467
536
  navigationController: nil
468
537
  )
469
538
  let controller = InfilectSDKCameraActivityForResult(cameraContext: context)
470
- controller.deleteImage(imageID: imageURI as String, sessionID: sessionID as String) { result in
539
+ controller.deleteImage(imageID: imageURI as String, sessionID: temporarySessionId as String) { result in
471
540
  switch result {
472
541
  case .success(let successMessage):
473
542
  resolve(successMessage)
@@ -477,41 +546,43 @@ class InfivizShotsReactSdk: RCTEventEmitter {
477
546
  }
478
547
  }
479
548
 
480
- @objc
481
- func retakeImage(
482
- _ temporarySessionId: NSString,
483
- imageURL: String,
484
- resolver resolve: @escaping RCTPromiseResolveBlock,
485
- rejecter reject: @escaping RCTPromiseRejectBlock
486
- ) {
487
- // Build a minimal CameraContext. If your SDK truly needs values like
488
- // taskName, storeTitle, etc., pass them in from JS or hard‐code defaults here.
489
- let context = CameraContext(
490
- taskName: "",
491
- storeTitle: "",
492
- storeId: "",
493
- photoType: "",
494
- category: "",
495
- maxPhoto: 0,
496
- maxPhotoOneGo: 0,
497
- navigationController: nil
498
- )
499
-
500
- let controller = InfilectSDKCameraActivityForResult(cameraContext: context)
501
- controller.retakeImage(imageURL: imageURL, sessionID: temporarySessionId as String) { result in
502
- switch result {
503
- case .success(let newImageId):
504
- resolve(newImageId)
505
- case .failure(let sdkError):
506
- let nsError = sdkError as NSError
507
- reject(
508
- "RetakeImageError",
509
- "Failed to retake image: \(nsError.localizedDescription)",
510
- nsError
511
- )
512
- }
513
- }
514
- }
549
+ @objc(retakeImage:imageURL:metaData:resolver:rejecter:)
550
+ func retakeImage(
551
+ _ temporarySessionId: NSString,
552
+ imageURL: String,
553
+ metaData: NSDictionary,
554
+ resolver resolve: @escaping RCTPromiseResolveBlock,
555
+ rejecter reject: @escaping RCTPromiseRejectBlock
556
+ ) {
557
+ // Build a minimal CameraContext. If your SDK truly needs values like
558
+ // taskName, storeTitle, etc., pass them in from JS or hard‐code defaults here.
559
+ let context = CameraContext(
560
+ taskName: "",
561
+ storeTitle: "",
562
+ storeId: "",
563
+ photoType: "",
564
+ category: "",
565
+ maxPhoto: 0,
566
+ maxPhotoOneGo: 0,
567
+ navigationController: nil,
568
+ metaData: metaData as? [String: Any]
569
+ )
570
+
571
+ let controller = InfilectSDKCameraActivityForResult(cameraContext: context)
572
+ controller.retakeImage(imageURL: imageURL, sessionID: temporarySessionId as String, metaData: metaData as? [String: Any]) { result in
573
+ switch result {
574
+ case .success(let newImageId):
575
+ resolve(newImageId)
576
+ case .failure(let sdkError):
577
+ let nsError = sdkError as NSError
578
+ reject(
579
+ "RetakeImageError",
580
+ "Failed to retake image: \(nsError.localizedDescription)",
581
+ nsError
582
+ )
583
+ }
584
+ }
585
+ }
515
586
 
516
587
  // MARK: – React Native Promise Exposures for OutputAPI
517
588
 
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","NativeModules","NativeEventEmitter","LINKING_ERROR","select","ios","default","InfivizShotsReactSdk","Proxy","get","Error","InfivizShotsReactSdkEmitter"],"sourceRoot":"../../src","sources":["NativeInfivizShotsReactSdk.tsx"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,aAAa,EAAEC,kBAAkB,QAAQ,cAAc;AAE1E,MAAMC,aAAa,GACjB,qEAAqE,GACrEH,QAAQ,CAACI,MAAM,CAAC;EACdC,GAAG,EAAE,gCAAgC;EACrCC,OAAO,EAAE;AACX,CAAC,CAAC,GACF,sDAAsD,GACtD,sEAAsE;AAExE,MAAMC,oBAAoB,GAAGN,aAAa,CAACM,oBAAoB,GAC3DN,aAAa,CAACM,oBAAoB,GAClC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAyEL,OAAO,MAAMQ,2BAA2B,GAAG,IAAIT,kBAAkB,CAACK,oBAAoB,CAAC;AAEvF,eAAeA,oBAAoB","ignoreList":[]}
1
+ {"version":3,"names":["Platform","NativeModules","NativeEventEmitter","LINKING_ERROR","select","ios","default","InfivizShotsReactSdk","Proxy","get","Error","InfivizShotsReactSdkEmitter"],"sourceRoot":"../../src","sources":["NativeInfivizShotsReactSdk.tsx"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,aAAa,EAAEC,kBAAkB,QAAQ,cAAc;AAE1E,MAAMC,aAAa,GACjB,qEAAqE,GACrEH,QAAQ,CAACI,MAAM,CAAC;EACdC,GAAG,EAAE,gCAAgC;EACrCC,OAAO,EAAE;AACX,CAAC,CAAC,GACF,sDAAsD,GACtD,sEAAsE;AAExE,MAAMC,oBAAoB,GAAGN,aAAa,CAACM,oBAAoB,GAC3DN,aAAa,CAACM,oBAAoB,GAClC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AA4EL,OAAO,MAAMQ,2BAA2B,GAAG,IAAIT,kBAAkB,CAACK,oBAAoB,CAAC;AAEvF,eAAeA,oBAAoB","ignoreList":[]}
@@ -9,33 +9,33 @@ export async function initialize(appID, authSecret, accountKey, userID, clientID
9
9
  export function syncSession(sessionId) {
10
10
  InfivizShotsReactSdk.syncSession(sessionId);
11
11
  }
12
- export async function startCamera(taskName, storeTitle, storeId, photoType, category, maxPhoto, maxPhotoOneGo) {
13
- return InfivizShotsReactSdk.startCamera(taskName, storeTitle, storeId, photoType, category, maxPhoto, maxPhotoOneGo);
12
+ export async function startCamera(taskName, storeTitle, storeId, photoType, category, maxPhoto, maxPhotoOneGo, metaData) {
13
+ return InfivizShotsReactSdk.startCamera(taskName, storeTitle, storeId, photoType, category, maxPhoto, maxPhotoOneGo, metaData);
14
14
  }
15
15
  export async function fetchSessionDetails(temporarySessionID) {
16
16
  const jsonString = await InfivizShotsReactSdk.fetchSessionDetails(temporarySessionID);
17
17
  const session = JSON.parse(jsonString);
18
18
  return session;
19
19
  }
20
- export async function deletePhoto(temporarySessionID, imageURI) {
21
- return InfivizShotsReactSdk.deletePhoto(temporarySessionID, imageURI);
20
+ export async function deletePhoto(imageURI, temporarySessionId) {
21
+ return InfivizShotsReactSdk.deletePhoto(imageURI, temporarySessionId);
22
22
  }
23
- export async function retakeImage(temporarySessionID, imageURI) {
24
- return InfivizShotsReactSdk.retakeImage(temporarySessionID, imageURI);
23
+ export async function retakeImage(temporarySessionID, imageURI, metaData) {
24
+ return InfivizShotsReactSdk.retakeImage(temporarySessionID, imageURI, metaData);
25
25
  }
26
26
  export async function fetchUniversalSessionId(temporarySessionID) {
27
27
  return InfivizShotsReactSdk.fetchUniversalSessionId(temporarySessionID);
28
28
  }
29
- export async function resumeCamera(temporarySessionID) {
30
- return InfivizShotsReactSdk.resumeCamera(temporarySessionID);
29
+ export async function resumeCamera(temporarySessionID, metaData) {
30
+ return InfivizShotsReactSdk.resumeCamera(temporarySessionID, metaData);
31
31
  }
32
32
  export async function logout() {
33
33
  return InfivizShotsReactSdk.logout();
34
34
  }
35
- export async function getIrResults(sessionId) {
35
+ export async function getIrResult(sessionId) {
36
36
  return InfivizShotsReactSdk.getIrResult(sessionId);
37
37
  }
38
- export async function getActionsResults(sessionId) {
38
+ export async function getActionsResult(sessionId) {
39
39
  return InfivizShotsReactSdk.getActionsResult(sessionId);
40
40
  }
41
41
  export async function getSessionStatus(sessionId) {
@@ -1 +1 @@
1
- {"version":3,"names":["InfivizShotsReactSdk","InfivizShotsReactSdkEmitter","InfivizShotsReactSdkEvents","addListener","eventName","callback","removeAllListeners","initialize","appID","authSecret","accountKey","userID","clientID","apiToken","env","syncSession","sessionId","startCamera","taskName","storeTitle","storeId","photoType","category","maxPhoto","maxPhotoOneGo","fetchSessionDetails","temporarySessionID","jsonString","session","JSON","parse","deletePhoto","imageURI","retakeImage","fetchUniversalSessionId","resumeCamera","logout","getIrResults","getIrResult","getActionsResults","getActionsResult","getSessionStatus","sessionStatusJson","sessionStatus","viewIrResult","viewIRResults","startActionsWorkflow","latitude","longitude","dateInMMDDYYYY","startActionsWorkFlow","uploadSessions","uploadSession","Environment"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["InfivizShotsReactSdk","InfivizShotsReactSdkEmitter","InfivizShotsReactSdkEvents","addListener","eventName","callback","removeAllListeners","initialize","appID","authSecret","accountKey","userID","clientID","apiToken","env","syncSession","sessionId","startCamera","taskName","storeTitle","storeId","photoType","category","maxPhoto","maxPhotoOneGo","metaData","fetchSessionDetails","temporarySessionID","jsonString","session","JSON","parse","deletePhoto","imageURI","temporarySessionId","retakeImage","fetchUniversalSessionId","resumeCamera","logout","getIrResult","getActionsResult","getSessionStatus","sessionStatusJson","sessionStatus","viewIrResult","viewIRResults","startActionsWorkflow","latitude","longitude","dateInMMDDYYYY","startActionsWorkFlow","uploadSessions","uploadSession","Environment"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infilectorg/infiviz-shots-react-sdk",
3
- "version": "1.0.22",
3
+ "version": "1.0.27",
4
4
  "description": "React Native package for native libraries",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/module/index.js",
@@ -1,6 +1,6 @@
1
1
  Pod::Spec.new do |s|
2
2
  s.name = 'react-native-infiviz-shots'
3
- s.version = '1.0.0-test18'
3
+ s.version = '1.1.5'
4
4
  s.summary = 'InfivizShots React Native SDK'
5
5
  s.homepage = 'https://your-repo-link.com' # ← replace with your real URL
6
6
  s.license = { :type => 'MIT' }
@@ -40,21 +40,24 @@ interface InfivizShotsReactSdkType {
40
40
  photoType: string,
41
41
  category: string,
42
42
  maxPhoto: number,
43
- maxPhotoOneGo: number
43
+ maxPhotoOneGo: number,
44
+ metaData: Record<string, any>
44
45
  ): Promise<string>;
45
46
 
46
47
  retakeImage(
47
48
  temporarySessionId: string,
48
49
  imageURI: string,
50
+ metaData: Record<string, any>,
49
51
  ): Promise<string>;
50
52
 
51
53
  deletePhoto(
52
- temporarySessionId: string,
53
54
  imageURI: string,
55
+ temporarySessionId: string,
54
56
  ): Promise<string>;
55
57
 
56
58
  resumeCamera(
57
- tempSessionId: string
59
+ tempSessionId: string,
60
+ metaData: Record<string, any>
58
61
  ): Promise<void>;
59
62
 
60
63
  uploadSession(
package/src/index.tsx CHANGED
@@ -35,9 +35,10 @@ export async function startCamera(
35
35
  photoType: string,
36
36
  category: string,
37
37
  maxPhoto: number,
38
- maxPhotoOneGo: number
38
+ maxPhotoOneGo: number,
39
+ metaData: Record<string, any>
39
40
  ): Promise<string> {
40
- return InfivizShotsReactSdk.startCamera(taskName, storeTitle, storeId, photoType, category, maxPhoto, maxPhotoOneGo);
41
+ return InfivizShotsReactSdk.startCamera(taskName, storeTitle, storeId, photoType, category, maxPhoto, maxPhotoOneGo, metaData);
41
42
  }
42
43
 
43
44
  export async function fetchSessionDetails(temporarySessionID: string): Promise<InfiSession> {
@@ -46,12 +47,12 @@ export async function fetchSessionDetails(temporarySessionID: string): Promise<I
46
47
  return session;
47
48
  }
48
49
 
49
- export async function deletePhoto(temporarySessionID: string, imageURI: string): Promise<string> {
50
- return InfivizShotsReactSdk.deletePhoto(temporarySessionID, imageURI);
50
+ export async function deletePhoto(imageURI: string, temporarySessionId: string): Promise<string> {
51
+ return InfivizShotsReactSdk.deletePhoto(imageURI, temporarySessionId);
51
52
  }
52
53
 
53
- export async function retakeImage(temporarySessionID: string, imageURI: string): Promise<string> {
54
- return InfivizShotsReactSdk.retakeImage(temporarySessionID, imageURI);
54
+ export async function retakeImage(temporarySessionID: string, imageURI: string, metaData: Record<string, any>): Promise<string> {
55
+ return InfivizShotsReactSdk.retakeImage(temporarySessionID, imageURI, metaData);
55
56
  }
56
57
 
57
58
  export async function fetchUniversalSessionId(temporarySessionID: string): Promise<string> {
@@ -59,19 +60,19 @@ export async function fetchUniversalSessionId(temporarySessionID: string): Promi
59
60
  }
60
61
 
61
62
 
62
- export async function resumeCamera(temporarySessionID: string): Promise<void> {
63
- return InfivizShotsReactSdk.resumeCamera(temporarySessionID);
63
+ export async function resumeCamera(temporarySessionID: string, metaData: Record<string, any>): Promise<void> {
64
+ return InfivizShotsReactSdk.resumeCamera(temporarySessionID, metaData);
64
65
  }
65
66
 
66
67
  export async function logout(): Promise<void> {
67
68
  return InfivizShotsReactSdk.logout()
68
69
  }
69
70
 
70
- export async function getIrResults(sessionId: string): Promise<string> {
71
+ export async function getIrResult(sessionId: string): Promise<string> {
71
72
  return InfivizShotsReactSdk.getIrResult(sessionId);
72
73
  }
73
74
 
74
- export async function getActionsResults(sessionId: string): Promise<string> {
75
+ export async function getActionsResult(sessionId: string): Promise<string> {
75
76
  return InfivizShotsReactSdk.getActionsResult(sessionId);
76
77
  }
77
78