@takeoffmedia/react-native-penthera 0.3.8 → 0.4.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 (22) hide show
  1. package/android/src/main/java/com/takeoffmediareactnativepenthera/AssetQueueObserver.kt +12 -5
  2. package/android/src/main/java/com/takeoffmediareactnativepenthera/virtuoso/OfflineVideoEngine.kt +5 -2
  3. package/ios/Catalog.swift +2 -0
  4. package/ios/Penthera.swift +78 -15
  5. package/ios/Penthera.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  6. package/ios/Penthera.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  7. package/ios/Penthera.xcodeproj/project.xcworkspace/xcuserdata/joseguerreroot.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  8. package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +104 -0
  9. package/ios/Penthera.xcodeproj/xcuserdata/joseguerreroot.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  10. package/lib/commonjs/hooks/usePenthera/usePenthera.js +20 -6
  11. package/lib/commonjs/hooks/usePenthera/usePenthera.js.map +1 -1
  12. package/lib/module/hooks/usePenthera/usePenthera.js +20 -6
  13. package/lib/module/hooks/usePenthera/usePenthera.js.map +1 -1
  14. package/lib/typescript/hooks/usePenthera/usePenthera.d.ts.map +1 -1
  15. package/lib/typescript/hooks/usePenthera/usePenthera.types.d.ts +2 -0
  16. package/lib/typescript/hooks/usePenthera/usePenthera.types.d.ts.map +1 -1
  17. package/lib/typescript/interface/PentheraTypes.d.ts +3 -1
  18. package/lib/typescript/interface/PentheraTypes.d.ts.map +1 -1
  19. package/package.json +1 -1
  20. package/src/hooks/usePenthera/usePenthera.tsx +151 -135
  21. package/src/hooks/usePenthera/usePenthera.types.ts +2 -0
  22. package/src/interface/PentheraTypes.ts +3 -1
@@ -9,6 +9,7 @@ import com.penthera.virtuososdk.client.Observers
9
9
  import com.penthera.virtuososdk.client.Virtuoso
10
10
  import com.takeoffmediareactnativepenthera.virtuoso.OfflineVideoEngine
11
11
  import com.takeoffmediareactnativepenthera.virtuoso.errors.PentheraErrors
12
+ import org.json.JSONObject
12
13
 
13
14
  class AssetQueueObserver(mOfflineVideo : OfflineVideoEngine, virtuoso: Virtuoso) : Observers.IQueueObserver {
14
15
 
@@ -29,7 +30,9 @@ class AssetQueueObserver(mOfflineVideo : OfflineVideoEngine, virtuoso: Virtuoso)
29
30
  updateItem(aAsset, true)
30
31
  val eventCategory = "penthera"
31
32
  val eventType = PentheraEvent.DID_START_DOWNLOADING
32
- EventEmitter.sharedInstance.dispatch(eventCategory, eventType, assetId, "")
33
+ val metadata = JSONObject(aAsset.metadata)
34
+ val mediaId = metadata["mediaId"] as String
35
+ EventEmitter.sharedInstance.dispatch(eventCategory, eventType, mediaId, "")
33
36
  } catch (e: Exception) {
34
37
  // Handle the exception here, for example, log it
35
38
  Log.e("MiModulo", "Error in engineStartedDownloadingAsset", e)
@@ -52,7 +55,9 @@ class AssetQueueObserver(mOfflineVideo : OfflineVideoEngine, virtuoso: Virtuoso)
52
55
  updateItem(aAsset, true)
53
56
  val eventCategory = "penthera"
54
57
  val eventType = PentheraEvent.DOWNLOAD_COMPLETE
55
- EventEmitter.sharedInstance.dispatch(eventCategory, eventType, assetId, "")
58
+ val metadata = JSONObject(aAsset.metadata)
59
+ val mediaId = metadata["mediaId"] as String
60
+ EventEmitter.sharedInstance.dispatch(eventCategory, eventType, mediaId, "")
56
61
  mOfflineVideo.assetId.remove(assetId)
57
62
  } catch (e: Exception) {
58
63
  // Handle the exception here, for example, log it
@@ -151,16 +156,18 @@ class AssetQueueObserver(mOfflineVideo : OfflineVideoEngine, virtuoso: Virtuoso)
151
156
  }
152
157
  }
153
158
  val hasError = assetStatus == "Error"
159
+ val metadata = JSONObject(it.metadata)
160
+ val mediaId = metadata["mediaId"] as String
154
161
  if(hasError){
155
- EventEmitter.sharedInstance.dispatch("penthera", PentheraEvent.ERROR_DOWNLOAD, it.assetId, value)
162
+ EventEmitter.sharedInstance.dispatch("penthera", PentheraEvent.ERROR_DOWNLOAD, mediaId, value)
156
163
  } else if(assetStatus == "Downloading") {
157
164
  val speedInMbs = mOfflineVideo.mService.windowedThroughput
158
165
  runOnUiThread {
159
166
  if(speedInMbs <= mOfflineVideo.minimumLowBandWidth && progress > 1){
160
- EventEmitter.sharedInstance.dispatch("penthera", PentheraEvent.ERROR_DOWNLOAD, it.assetId, PentheraErrors.LOW_BAND_WIDTH)
167
+ EventEmitter.sharedInstance.dispatch("penthera", PentheraEvent.ERROR_DOWNLOAD, mediaId, PentheraErrors.LOW_BAND_WIDTH)
161
168
  }
162
169
  }
163
- EventEmitter.sharedInstance.dispatch("penthera", PentheraEvent.PROGRESS_UPDATED, it.assetId, progress.toString())
170
+ EventEmitter.sharedInstance.dispatch("penthera", PentheraEvent.PROGRESS_UPDATED, mediaId, progress.toString())
164
171
  }
165
172
  }
166
173
  }
@@ -180,6 +180,9 @@ class OfflineVideoEngine(private val context: ReactApplicationContext) {
180
180
  val value = cursor.getString(columnIndex)
181
181
  if (columnName == "description") {
182
182
  val jsonObject = Gson().fromJson(value, Map::class.java)
183
+ val asset = JSONObject(value)
184
+ val metadata = asset.getJSONObject("data")
185
+ dataMap["id"] = metadata["mediaId"]
183
186
  dataMap["data"] = jsonObject["data"] as Any
184
187
  dataMap["title"] = jsonObject["title"] as Any
185
188
  dataMap["thumbnails"] = jsonObject["thumbnails"] as Any
@@ -187,7 +190,6 @@ class OfflineVideoEngine(private val context: ReactApplicationContext) {
187
190
  dataMap[columnName] = value
188
191
  }
189
192
  if (columnName == "assetId") {
190
- dataMap["id"] = value
191
193
  UiThreadUtil.runOnUiThread {
192
194
  val list = virtuoso.assetManager.getByAssetId(value)
193
195
  list.firstOrNull()?.let { asset ->
@@ -237,10 +239,11 @@ class OfflineVideoEngine(private val context: ReactApplicationContext) {
237
239
  private fun processAsset(asset: VirtuosoSegmentedFile) {
238
240
  when (asset.downloadStatus) {
239
241
  Common.AssetStatus.DOWNLOAD_DENIED_COPIES -> {
242
+ val metadata = JSONObject((asset as VirtuosoSegmentedFile).metadata)
240
243
  EventEmitter.sharedInstance.dispatch(
241
244
  "penthera",
242
245
  PentheraEvent.ERROR_DOWNLOAD,
243
- asset.assetId,
246
+ metadata["mediaId"] as String,
244
247
  PentheraErrors.DOWNLOAD_DENIED_COPIES
245
248
  )
246
249
  }
package/ios/Catalog.swift CHANGED
@@ -62,6 +62,8 @@ struct DataItem: Codable {
62
62
  var inForcedExpire: Bool?
63
63
  var effectiveExpiryDate: String?
64
64
  var isReproduced: Bool?
65
+ var mediaId: String?
66
+ var vpid: String?
65
67
  }
66
68
 
67
69
  struct Offers: Codable {
@@ -35,11 +35,21 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
35
35
  let assetId = self.currentAset?.assetID
36
36
  // allowableStorageRemaining Returns the amount of device storage (in bytes) still available for Virtuoso to use
37
37
  if(allowableStorageRemaining <= 0){
38
- EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.ERROR_DOWNLOAD, assetId: assetId ?? "", body: "Insufficient storage for download")
38
+ EventEmitter.sharedInstance.dispatch(
39
+ name: "penthera",
40
+ code: PentheraEvent.ERROR_DOWNLOAD,
41
+ assetId: self.currentAset?.userInfo?["mediaId"] as! String,
42
+ body: "Insufficient storage for download"
43
+ )
39
44
  //This condition starts with the interval of 30 since we can have an estimate of kbps per second from approximately 20
40
45
  } else if kbpsInt > 0 {
41
46
  if kbpsInt <= self.minimumLowBandWidth {
42
- EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.ERROR_DOWNLOAD, assetId: assetId ?? "", body: "Low bandwidth or no connection")
47
+ EventEmitter.sharedInstance.dispatch(
48
+ name: "penthera",
49
+ code: PentheraEvent.ERROR_DOWNLOAD,
50
+ assetId: self.currentAset?.userInfo?["mediaId"] as! String,
51
+ body: "Low bandwidth or no connection"
52
+ )
43
53
  // self.currentAset?.delete()
44
54
  }
45
55
  }
@@ -156,7 +166,12 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
156
166
  self.currentAset = asset
157
167
  self.assetError = ""
158
168
  updateStatusInfo()
159
- EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.DID_START_DOWNLOADING, assetId: asset.assetID, body: "")
169
+ EventEmitter.sharedInstance.dispatch(
170
+ name: "penthera",
171
+ code: PentheraEvent.DID_START_DOWNLOADING,
172
+ assetId: asset.userInfo?["mediaId"] as! String,
173
+ body: ""
174
+ )
160
175
  }
161
176
 
162
177
 
@@ -165,7 +180,12 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
165
180
  updateStatusInfo()
166
181
  let percentage: Float = Float(asset.fractionComplete)/Float(asset.estimatedSize)
167
182
  if(percentage.isFinite && self.assetError.isEmpty ) {
168
- EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.PROGRESS_UPDATED, assetId: asset.assetID, body: "\(Int(asset.fractionComplete*100))")
183
+ EventEmitter.sharedInstance.dispatch(name: "penthera",
184
+ code: PentheraEvent.PROGRESS_UPDATED,
185
+ assetId: asset.userInfo?["mediaId"] as! String,
186
+ body: "\(Int(asset.fractionComplete*100))"
187
+ )
188
+
169
189
  }
170
190
  }
171
191
 
@@ -175,7 +195,12 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
175
195
 
176
196
  public func downloadEngineDidFinishDownloadingAsset(_ asset: VirtuosoAsset) {
177
197
  updateStatusInfo()
178
- EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.DOWNLOAD_COMPLETE, assetId: asset.assetID, body: "")
198
+ EventEmitter.sharedInstance.dispatch(
199
+ name: "penthera",
200
+ code: PentheraEvent.DOWNLOAD_COMPLETE,
201
+ assetId: asset.userInfo?["mediaId"] as! String,
202
+ body: ""
203
+ )
179
204
  }
180
205
 
181
206
  func downloadEngineStatusChange(_ status: kVDE_DownloadEngineStatus) {
@@ -185,15 +210,30 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
185
210
  public func downloadEngineDidEncounterError(for asset: VirtuosoAsset, error: Error?, task: URLSessionTask?, data: Data?, statusCode: NSNumber?) {
186
211
  let eventError = parseErrorRulesPenthera(anyElement: error);
187
212
  self.assetError = eventError
188
- EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.ERROR_DOWNLOAD, assetId: asset.assetID, body: eventError )
213
+ EventEmitter.sharedInstance.dispatch(
214
+ name: "penthera",
215
+ code: PentheraEvent.ERROR_DOWNLOAD,
216
+ assetId: asset.userInfo?["mediaId"] as! String,
217
+ body: eventError
218
+ )
189
219
  }
190
220
 
191
221
  public func downloadEngineInternalQueueUpdate(asset: VirtuosoAsset) {
192
- EventEmitter.sharedInstance.dispatch(name: "penthera", code: "TEST downloadEngineInternalQueueUpdate", assetId: asset.assetID, body: "Queue updated")
222
+ EventEmitter.sharedInstance.dispatch(
223
+ name: "penthera",
224
+ code: "TEST downloadEngineInternalQueueUpdate",
225
+ assetId: asset.userInfo?["mediaId"] as! String,
226
+ body: "Queue updated"
227
+ )
193
228
  }
194
229
 
195
230
  public func downloadEngineStartupComplete(_ succeeded: Bool, asset: VirtuosoAsset) {
196
- EventEmitter.sharedInstance.dispatch(name: "penthera", code: "TEST downloadEngineStartupComplete", assetId: asset.assetID, body: "SDK startup complete")
231
+ EventEmitter.sharedInstance.dispatch(
232
+ name: "penthera",
233
+ code: "TEST downloadEngineStartupComplete",
234
+ assetId: asset.userInfo?["mediaId"] as! String,
235
+ body: "SDK startup complete"
236
+ )
197
237
  }
198
238
  func getPendingAsset(assetID: String) -> VirtuosoAsset? {
199
239
  let pendingAssets = VirtuosoAsset.pendingAssets(withAvailabilityFilter: false)
@@ -256,15 +296,26 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
256
296
 
257
297
  let hasDRM = item["drm"] as! Bool? ?? false
258
298
  let title = item["title"] as! String? ?? ""
299
+ guard let metadata = item["data"] as! [String: AnyObject]? else {
300
+ reject("No metadata", nil, nil)
301
+ return
302
+ }
259
303
 
260
304
  DispatchQueue.global(qos: .background).async {
261
305
  guard let config = VirtuosoAssetConfig(url: url,
262
306
  assetID: assetID,
263
307
  description: String(describing: title),
264
- type: .vde_AssetTypeHLS) else {
265
- EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.CONFIG_ASSET_FAILED, assetId: assetID, body: "-")
308
+ type: .vde_AssetTypeHLS)
309
+ else {
310
+ EventEmitter.sharedInstance.dispatch(
311
+ name: "penthera",
312
+ code: PentheraEvent.CONFIG_ASSET_FAILED,
313
+ assetId: metadata["mediaId"] as! String,
314
+ body: "-"
315
+ )
266
316
  return
267
317
  }
318
+
268
319
  // Ancillary Files
269
320
  var ancillarySubtitles: [String: String] = [:]
270
321
  let thumbnails = item["thumbnails"] as! [String: String]? ?? [:]
@@ -304,7 +355,12 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
304
355
  FairPlayDrmSetup.initDrmUrls(certificateUrl: cert, licenceUrl: licence)
305
356
 
306
357
  if (!FairPlayDrmSetup.configureAsset(assetID: assetID, header:licenceHttpHeader, token: token)) {
307
- EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.FAIR_PLAY_LICENSE_DELEGATE_ERROR, assetId: "", body: "")
358
+ EventEmitter.sharedInstance.dispatch(
359
+ name: "penthera",
360
+ code: PentheraEvent.FAIR_PLAY_LICENSE_DELEGATE_ERROR,
361
+ assetId: metadata["mediaId"] as! String,
362
+ body: ""
363
+ )
308
364
  return
309
365
  }
310
366
 
@@ -368,7 +424,9 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
368
424
  expiryAfterDownload: timeIntervalToString(va.expiryAfterDownload),
369
425
  isExpired: va.isExpired,
370
426
  inForcedExpire: va.inForcedExpire,
371
- isReproduced: isReproduced != nil
427
+ isReproduced: isReproduced != nil,
428
+ mediaId: va.userInfo?["mediaId"] as? String,
429
+ vpid: va.userInfo?["vpid"] as? String
372
430
  )
373
431
 
374
432
  if let effectiveExpiryDate = effectiveExpiryDate {
@@ -383,7 +441,7 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
383
441
  va.delete()
384
442
  } else {
385
443
  let catalog = OfflineCatalog(
386
- id: va.assetID,
444
+ id: va.userInfo?["mediaId"] as! String, // Change vpid to assetId
387
445
  title: va.description,
388
446
  data: dataItem,
389
447
  thumbnails: thumbnails,
@@ -555,17 +613,22 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
555
613
 
556
614
  func pauseAsset(asset: VirtuosoAsset) {
557
615
  asset.isPaused = !asset.isPaused
558
- EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED, assetId: asset.assetID, body: "\(asset.isPaused)")
616
+ EventEmitter.sharedInstance.dispatch(
617
+ name: "penthera",
618
+ code: PentheraEvent.ASSET_RESUME_DOWNLOAD_UPDATED,
619
+ assetId: asset.userInfo?["mediaId"] as! String,
620
+ body: "\(asset.isPaused)"
621
+ )
559
622
  }
560
623
 
561
624
  @objc(shutdownDRM:withResolver:withRejecter:)
562
625
  func shutdownDRM(_ blank: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
563
626
  if let server = self.vcHttpServer {
564
627
  server.shutdown()
565
-
566
628
  resolve("Shutdown successful")
567
629
  } else {
568
630
  reject("NO_INSTANCE", "No instance for vcHttpServer", nil)
569
631
  }
570
632
  }
633
+
571
634
  }
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "self:">
6
+ </FileRef>
7
+ </Workspace>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
@@ -0,0 +1,104 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Bucket
3
+ uuid = "3AE98629-7421-4561-B12C-C06B8B6A3023"
4
+ type = "1"
5
+ version = "2.0">
6
+ <Breakpoints>
7
+ <BreakpointProxy
8
+ BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
9
+ <BreakpointContent
10
+ uuid = "A5D166B0-3C57-4F4D-A845-BDB81498DA0F"
11
+ shouldBeEnabled = "No"
12
+ ignoreCount = "0"
13
+ continueAfterRunningActions = "No"
14
+ filePath = "Penthera.swift"
15
+ startingColumnNumber = "9223372036854775807"
16
+ endingColumnNumber = "9223372036854775807"
17
+ startingLineNumber = "18"
18
+ endingLineNumber = "18"
19
+ landmarkName = "Penthera"
20
+ landmarkType = "3">
21
+ </BreakpointContent>
22
+ </BreakpointProxy>
23
+ <BreakpointProxy
24
+ BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
25
+ <BreakpointContent
26
+ uuid = "5D7AE47B-D5FC-4468-A75B-C414F3F8A58C"
27
+ shouldBeEnabled = "No"
28
+ ignoreCount = "0"
29
+ continueAfterRunningActions = "No"
30
+ filePath = "Penthera.swift"
31
+ startingColumnNumber = "9223372036854775807"
32
+ endingColumnNumber = "9223372036854775807"
33
+ startingLineNumber = "25"
34
+ endingLineNumber = "25"
35
+ landmarkName = "updateStatusInfo()"
36
+ landmarkType = "7">
37
+ </BreakpointContent>
38
+ </BreakpointProxy>
39
+ <BreakpointProxy
40
+ BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
41
+ <BreakpointContent
42
+ uuid = "E3C50B30-46CF-4D56-8C49-C257C70E0ACC"
43
+ shouldBeEnabled = "No"
44
+ ignoreCount = "0"
45
+ continueAfterRunningActions = "No"
46
+ filePath = "Penthera.swift"
47
+ startingColumnNumber = "9223372036854775807"
48
+ endingColumnNumber = "9223372036854775807"
49
+ startingLineNumber = "26"
50
+ endingLineNumber = "26"
51
+ landmarkName = "updateStatusInfo()"
52
+ landmarkType = "7">
53
+ </BreakpointContent>
54
+ </BreakpointProxy>
55
+ <BreakpointProxy
56
+ BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
57
+ <BreakpointContent
58
+ uuid = "75EF43BF-56FF-4727-B372-E1A0EBC02C61"
59
+ shouldBeEnabled = "Yes"
60
+ ignoreCount = "0"
61
+ continueAfterRunningActions = "No"
62
+ filePath = "Penthera.swift"
63
+ startingColumnNumber = "9223372036854775807"
64
+ endingColumnNumber = "9223372036854775807"
65
+ startingLineNumber = "101"
66
+ endingLineNumber = "101"
67
+ landmarkName = "initializeSdk(user:backplaneUrl:publicKey:privateKey:resolve:reject:)"
68
+ landmarkType = "7">
69
+ </BreakpointContent>
70
+ </BreakpointProxy>
71
+ <BreakpointProxy
72
+ BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
73
+ <BreakpointContent
74
+ uuid = "EF36B51B-4FC2-4989-A791-180E3212EFE3"
75
+ shouldBeEnabled = "Yes"
76
+ ignoreCount = "0"
77
+ continueAfterRunningActions = "No"
78
+ filePath = "Penthera.swift"
79
+ startingColumnNumber = "9223372036854775807"
80
+ endingColumnNumber = "9223372036854775807"
81
+ startingLineNumber = "149"
82
+ endingLineNumber = "149"
83
+ landmarkName = "getDownloadedAsset(assetID:)"
84
+ landmarkType = "7">
85
+ </BreakpointContent>
86
+ </BreakpointProxy>
87
+ <BreakpointProxy
88
+ BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
89
+ <BreakpointContent
90
+ uuid = "C467C00E-2428-4D24-843A-E7CDF28CB553"
91
+ shouldBeEnabled = "Yes"
92
+ ignoreCount = "0"
93
+ continueAfterRunningActions = "No"
94
+ filePath = "Penthera.swift"
95
+ startingColumnNumber = "9223372036854775807"
96
+ endingColumnNumber = "9223372036854775807"
97
+ startingLineNumber = "148"
98
+ endingLineNumber = "148"
99
+ landmarkName = "getDownloadedAsset(assetID:)"
100
+ landmarkType = "7">
101
+ </BreakpointContent>
102
+ </BreakpointProxy>
103
+ </Breakpoints>
104
+ </Bucket>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>SchemeUserState</key>
6
+ <dict>
7
+ <key>Penthera.xcscheme_^#shared#^_</key>
8
+ <dict>
9
+ <key>orderHint</key>
10
+ <integer>0</integer>
11
+ </dict>
12
+ </dict>
13
+ </dict>
14
+ </plist>
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.usePenthera = void 0;
7
7
  var _zustand = require("zustand");
8
8
  var _nativeModules = require("../../nativeModules");
9
- const usePenthera = (0, _zustand.create)(set => ({
9
+ const usePenthera = (0, _zustand.create)((set, get) => ({
10
10
  assets: [],
11
11
  assetsProgress: {},
12
12
  assetError: [],
@@ -67,8 +67,11 @@ const usePenthera = (0, _zustand.create)(set => ({
67
67
  drm
68
68
  }));
69
69
  return set(state => ({
70
- assets: [...state.assets, item],
71
- assetsPending: state.assetsPending.filter(asset => asset.id !== item.id)
70
+ assets: [...state.assets, {
71
+ ...item,
72
+ id: item.data.mediaId
73
+ }],
74
+ assetsPending: state.assetsPending.filter(asset => asset.id !== item.data.mediaId)
72
75
  }));
73
76
  } catch (error) {
74
77
  console.error('error: downloadAsset', error);
@@ -76,8 +79,10 @@ const usePenthera = (0, _zustand.create)(set => ({
76
79
  },
77
80
  deleteMany: async assetIds => {
78
81
  try {
79
- const response = await (0, _nativeModules.deleteMany)(assetIds);
80
- const deleted = Object.keys(response).filter(item => response[item]);
82
+ const vpids = assetIds.map(assetId => get().getVpidByMediaId(assetId));
83
+ const response = await (0, _nativeModules.deleteMany)(vpids);
84
+ const vpidsDeleted = Object.keys(response).filter(item => response[item]);
85
+ const deleted = vpidsDeleted.map(assetId => get().getMediaIdByVpid(assetId));
81
86
  return set(state => {
82
87
  const updatedAssetsProgress = {
83
88
  ...state.assetsProgress
@@ -101,7 +106,8 @@ const usePenthera = (0, _zustand.create)(set => ({
101
106
  },
102
107
  onPlayVideo: async assetId => {
103
108
  try {
104
- const response = await (0, _nativeModules.playAsset)(assetId);
109
+ const vpid = get().getVpidByMediaId(assetId);
110
+ const response = await (0, _nativeModules.playAsset)(vpid);
105
111
  return response;
106
112
  } catch (error) {
107
113
  console.log('error in onPlayVideo', error);
@@ -145,6 +151,14 @@ const usePenthera = (0, _zustand.create)(set => ({
145
151
  set(state => ({
146
152
  assetsPending: state.assetsPending.filter(asset => asset.id !== assetId)
147
153
  }));
154
+ },
155
+ getVpidByMediaId: mediaId => {
156
+ var _get$assets$find, _get$assets$find$data;
157
+ return ((_get$assets$find = get().assets.find(item => item.data.mediaId === mediaId)) === null || _get$assets$find === void 0 ? void 0 : (_get$assets$find$data = _get$assets$find.data) === null || _get$assets$find$data === void 0 ? void 0 : _get$assets$find$data.vpid) ?? '';
158
+ },
159
+ getMediaIdByVpid: vpid => {
160
+ var _get$assets, _get$assets$find2, _get$assets$find2$dat;
161
+ return ((_get$assets = get().assets) === null || _get$assets === void 0 ? void 0 : (_get$assets$find2 = _get$assets.find(item => item.data.vpid === vpid)) === null || _get$assets$find2 === void 0 ? void 0 : (_get$assets$find2$dat = _get$assets$find2.data) === null || _get$assets$find2$dat === void 0 ? void 0 : _get$assets$find2$dat.mediaId) ?? '';
148
162
  }
149
163
  }));
150
164
  exports.usePenthera = usePenthera;
@@ -1 +1 @@
1
- {"version":3,"names":["_zustand","require","_nativeModules","usePenthera","create","set","assets","assetsProgress","assetError","assetsPending","loadAssets","addAsset","asset","state","updateAssetsProgress","progress","updateAssetCompleted","assetID","map","item","id","isCompleted","onGetAllAssets","getDownloads","Array","isArray","uniqueAssets","filter","index","self","findIndex","i","error","console","log","onDownload","_ref","url","drm","download","JSON","stringify","deleteMany","assetIds","response","deleted","Object","keys","updatedAssetsProgress","forEach","assetId","includes","onPauseDownload","pauseDownload","onPlayVideo","playAsset","setError","dataError","assetIdExists","some","removeError","assetIdToRemove","setConfigParameters","data","configParameters","clearAssetProgress","setAssetPending","removeAssetPending","exports"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_zustand","require","_nativeModules","usePenthera","create","set","get","assets","assetsProgress","assetError","assetsPending","loadAssets","addAsset","asset","state","updateAssetsProgress","progress","updateAssetCompleted","assetID","map","item","id","isCompleted","onGetAllAssets","getDownloads","Array","isArray","uniqueAssets","filter","index","self","findIndex","i","error","console","log","onDownload","_ref","url","drm","download","JSON","stringify","data","mediaId","deleteMany","assetIds","vpids","assetId","getVpidByMediaId","response","vpidsDeleted","Object","keys","deleted","getMediaIdByVpid","updatedAssetsProgress","forEach","includes","onPauseDownload","pauseDownload","onPlayVideo","vpid","playAsset","setError","dataError","assetIdExists","some","removeError","assetIdToRemove","setConfigParameters","configParameters","clearAssetProgress","setAssetPending","removeAssetPending","_get$assets$find","_get$assets$find$data","find","_get$assets","_get$assets$find2","_get$assets$find2$dat","exports"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { create } from 'zustand';
2
2
  import { deleteMany, download, getDownloads, pauseDownload, playAsset, configParameters } from '../../nativeModules';
3
- export const usePenthera = create(set => ({
3
+ export const usePenthera = create((set, get) => ({
4
4
  assets: [],
5
5
  assetsProgress: {},
6
6
  assetError: [],
@@ -61,8 +61,11 @@ export const usePenthera = create(set => ({
61
61
  drm
62
62
  }));
63
63
  return set(state => ({
64
- assets: [...state.assets, item],
65
- assetsPending: state.assetsPending.filter(asset => asset.id !== item.id)
64
+ assets: [...state.assets, {
65
+ ...item,
66
+ id: item.data.mediaId
67
+ }],
68
+ assetsPending: state.assetsPending.filter(asset => asset.id !== item.data.mediaId)
66
69
  }));
67
70
  } catch (error) {
68
71
  console.error('error: downloadAsset', error);
@@ -70,8 +73,10 @@ export const usePenthera = create(set => ({
70
73
  },
71
74
  deleteMany: async assetIds => {
72
75
  try {
73
- const response = await deleteMany(assetIds);
74
- const deleted = Object.keys(response).filter(item => response[item]);
76
+ const vpids = assetIds.map(assetId => get().getVpidByMediaId(assetId));
77
+ const response = await deleteMany(vpids);
78
+ const vpidsDeleted = Object.keys(response).filter(item => response[item]);
79
+ const deleted = vpidsDeleted.map(assetId => get().getMediaIdByVpid(assetId));
75
80
  return set(state => {
76
81
  const updatedAssetsProgress = {
77
82
  ...state.assetsProgress
@@ -95,7 +100,8 @@ export const usePenthera = create(set => ({
95
100
  },
96
101
  onPlayVideo: async assetId => {
97
102
  try {
98
- const response = await playAsset(assetId);
103
+ const vpid = get().getVpidByMediaId(assetId);
104
+ const response = await playAsset(vpid);
99
105
  return response;
100
106
  } catch (error) {
101
107
  console.log('error in onPlayVideo', error);
@@ -139,6 +145,14 @@ export const usePenthera = create(set => ({
139
145
  set(state => ({
140
146
  assetsPending: state.assetsPending.filter(asset => asset.id !== assetId)
141
147
  }));
148
+ },
149
+ getVpidByMediaId: mediaId => {
150
+ var _get$assets$find, _get$assets$find$data;
151
+ return ((_get$assets$find = get().assets.find(item => item.data.mediaId === mediaId)) === null || _get$assets$find === void 0 ? void 0 : (_get$assets$find$data = _get$assets$find.data) === null || _get$assets$find$data === void 0 ? void 0 : _get$assets$find$data.vpid) ?? '';
152
+ },
153
+ getMediaIdByVpid: vpid => {
154
+ var _get$assets, _get$assets$find2, _get$assets$find2$dat;
155
+ return ((_get$assets = get().assets) === null || _get$assets === void 0 ? void 0 : (_get$assets$find2 = _get$assets.find(item => item.data.vpid === vpid)) === null || _get$assets$find2 === void 0 ? void 0 : (_get$assets$find2$dat = _get$assets$find2.data) === null || _get$assets$find2$dat === void 0 ? void 0 : _get$assets$find2$dat.mediaId) ?? '';
142
156
  }
143
157
  }));
144
158
  //# sourceMappingURL=usePenthera.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["create","deleteMany","download","getDownloads","pauseDownload","playAsset","configParameters","usePenthera","set","assets","assetsProgress","assetError","assetsPending","loadAssets","addAsset","asset","state","updateAssetsProgress","progress","updateAssetCompleted","assetID","map","item","id","isCompleted","onGetAllAssets","Array","isArray","uniqueAssets","filter","index","self","findIndex","i","error","console","log","onDownload","_ref","url","drm","JSON","stringify","assetIds","response","deleted","Object","keys","updatedAssetsProgress","forEach","assetId","includes","onPauseDownload","onPlayVideo","setError","dataError","assetIdExists","some","removeError","assetIdToRemove","setConfigParameters","data","clearAssetProgress","setAssetPending","removeAssetPending"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["create","deleteMany","download","getDownloads","pauseDownload","playAsset","configParameters","usePenthera","set","get","assets","assetsProgress","assetError","assetsPending","loadAssets","addAsset","asset","state","updateAssetsProgress","progress","updateAssetCompleted","assetID","map","item","id","isCompleted","onGetAllAssets","Array","isArray","uniqueAssets","filter","index","self","findIndex","i","error","console","log","onDownload","_ref","url","drm","JSON","stringify","data","mediaId","assetIds","vpids","assetId","getVpidByMediaId","response","vpidsDeleted","Object","keys","deleted","getMediaIdByVpid","updatedAssetsProgress","forEach","includes","onPauseDownload","onPlayVideo","vpid","setError","dataError","assetIdExists","some","removeError","assetIdToRemove","setConfigParameters","clearAssetProgress","setAssetPending","removeAssetPending","_get$assets$find","_get$assets$find$data","find","_get$assets","_get$assets$find2","_get$assets$find2$dat"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePenthera.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/usePenthera.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAGf,MAAM,qBAAqB,CAAC;AAW7B,eAAO,MAAM,WAAW,6FA6IrB,CAAC"}
1
+ {"version":3,"file":"usePenthera.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/usePenthera.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAGf,MAAM,qBAAqB,CAAC;AAW7B,eAAO,MAAM,WAAW,6FA6JvB,CAAC"}
@@ -70,6 +70,8 @@ export type PentheraAction = {
70
70
  setAssetPending: (assets: PentheraTypes.ItemCatalog) => void;
71
71
  removeAssetPending: (assetID: string) => void;
72
72
  removeError: (id: string) => void;
73
+ getVpidByMediaId: (mediaId: string) => string;
74
+ getMediaIdByVpid: (vpid: string) => string;
73
75
  };
74
76
  export type Event = {
75
77
  code: PentheraEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"usePenthera.types.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/usePenthera.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePenthera.types.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/usePenthera.types.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@ export declare namespace PentheraTypes {
10
10
  drm: boolean | string;
11
11
  thumbnails?: Thumbnails;
12
12
  subtitles?: Subtitles;
13
- data?: DataItem;
13
+ data: DataItem;
14
14
  isCompleted?: boolean;
15
15
  download_percentage?: number;
16
16
  isPaused?: boolean;
@@ -53,6 +53,8 @@ export declare namespace PentheraTypes {
53
53
  isExpired?: boolean;
54
54
  effectiveExpiryDate?: string;
55
55
  expiryDate?: string;
56
+ mediaId: string;
57
+ vpid: string;
56
58
  }
57
59
  interface Classification {
58
60
  code: string;
@@ -1 +1 @@
1
- {"version":3,"file":"PentheraTypes.d.ts","sourceRoot":"","sources":["../../../src/interface/PentheraTypes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC,UAAiB,eAAe;QAC9B,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB;IAED,UAAiB,WAAW;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,OAAO,GAAG,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAChB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;QACzB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAED,UAAiB,QAAQ;QACvB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;SAAE,GAAG,EAAE,CAAC;QAC9C,UAAU,CAAC,EAAE,QAAQ,EAAE,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAED,UAAiB,cAAc;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd;IAED,UAAiB,QAAQ;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,OAAO,CAAC;KACf;IAED,UAAiB,MAAM;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,GAAG,EAAE,CAAC;KACf;IAED,UAAiB,KAAK;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB;IAED,UAAiB,SAAS;QACxB,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;KACZ;IAED,UAAiB,UAAU;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;IAED,UAAiB,cAAc;QAC7B,IAAI,EAAE,WAAW,CAAC;QAClB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC;YACd,0BAA0B,EAAE,MAAM,CAAC;YACnC,cAAc,EAAE,MAAM,CAAC;YACvB,aAAa,EAAE,MAAM,CAAC;SACvB,CAAC;KACH;IAED,UAAiB,kBAAkB;QACjC,GAAG,EAAE,MAAM,CAAC;QACZ,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,yBAAyB,EAAE,MAAM,CAAC;QAClC,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,yBAAyB,EAAE,MAAM,CAAC;QAClC,aAAa,EAAE,MAAM,CAAC;QACtB,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;QACvB,qBAAqB,EAAE,MAAM,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,eAAe,EAAE,MAAM,CAAC;QACxB,0BAA0B,EAAE,MAAM,CAAC;QACnC,wBAAwB,EAAE,MAAM,CAAC;QACjC,kBAAkB,EAAE,MAAM,CAAC;QAC3B,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB;IAED,UAAiB,qBAAqB;QACpC,WAAW,EAAE,MAAM,CAAC;QACpB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;KACb;IAED,UAAiB,iBAAiB;QAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B;CACF"}
1
+ {"version":3,"file":"PentheraTypes.d.ts","sourceRoot":"","sources":["../../../src/interface/PentheraTypes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takeoffmedia/react-native-penthera",
3
- "version": "0.3.8",
3
+ "version": "0.4.0",
4
4
  "description": "test",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -16,145 +16,161 @@ import {
16
16
  } from '../../nativeModules';
17
17
  import type { PentheraTypes } from '../../interface/PentheraTypes';
18
18
 
19
- export const usePenthera = create<PentheraState & PentheraAction>((set) => ({
20
- assets: [],
21
- assetsProgress: {},
22
- assetError: [],
23
- assetsPending: [],
24
- loadAssets: (assets: PentheraState['assets']) =>
25
- set(() => ({
26
- assets,
27
- })),
28
- addAsset: (asset) =>
29
- set((state) => ({
30
- assets: [...state.assets, asset],
31
- })),
32
- updateAssetsProgress: (progress) =>
33
- set((state) => {
34
- return {
35
- assetsProgress: {
36
- ...state.assetsProgress,
37
- ...progress,
38
- },
39
- };
40
- }),
41
- updateAssetCompleted: (assetID: string) => {
42
- set((state) => {
43
- const assets = state.assets.map((item) => {
44
- if (item.id === assetID) {
45
- return { ...item, isCompleted: true };
46
- }
47
- return item;
48
- });
49
- return {
19
+ export const usePenthera = create<PentheraState & PentheraAction>(
20
+ (set, get) => ({
21
+ assets: [],
22
+ assetsProgress: {},
23
+ assetError: [],
24
+ assetsPending: [],
25
+ loadAssets: (assets: PentheraState['assets']) =>
26
+ set(() => ({
50
27
  assets,
51
- };
52
- });
53
- },
54
- onGetAllAssets: async () => {
55
- try {
56
- const assets: PentheraTypes.ItemCatalog[] = await getDownloads('');
57
- if (Array.isArray(assets)) {
58
- const uniqueAssets = assets.filter(
59
- (item, index, self) =>
60
- self.findIndex((i) => i.id === item.id) === index
61
- );
62
- return set(() => ({
63
- assets: uniqueAssets,
64
- }));
65
- }
66
- } catch (error) {
67
- console.log('error in getDownloads', error);
68
- }
69
- },
70
- onDownload: async ({ item, url, drm }) => {
71
- try {
72
- await download(JSON.stringify({ item, url, drm }));
73
- return set((state) => ({
74
- assets: [...state.assets, item],
75
- assetsPending: state.assetsPending.filter(
76
- (asset) => asset.id !== item.id
77
- ),
78
- }));
79
- } catch (error) {
80
- console.error('error: downloadAsset', error);
81
- }
82
- },
83
- deleteMany: async (assetIds: string[]) => {
84
- try {
85
- const response = await deleteMany(assetIds);
86
- const deleted = Object.keys(response).filter((item) => response[item]);
87
-
88
- return set((state) => {
89
- const updatedAssetsProgress = { ...state.assetsProgress };
90
- deleted.forEach((assetId: string) => {
91
- if (state) {
92
- delete updatedAssetsProgress[assetId];
28
+ })),
29
+ addAsset: (asset) =>
30
+ set((state) => ({
31
+ assets: [...state.assets, asset],
32
+ })),
33
+ updateAssetsProgress: (progress) =>
34
+ set((state) => {
35
+ return {
36
+ assetsProgress: {
37
+ ...state.assetsProgress,
38
+ ...progress,
39
+ },
40
+ };
41
+ }),
42
+ updateAssetCompleted: (assetID: string) => {
43
+ set((state) => {
44
+ const assets = state.assets.map((item) => {
45
+ if (item.id === assetID) {
46
+ return { ...item, isCompleted: true };
93
47
  }
48
+ return item;
94
49
  });
95
50
  return {
96
- assets: state.assets.filter(
97
- (asset) => !deleted.includes(asset.id as string)
98
- ),
99
- assetsProgress: updatedAssetsProgress,
51
+ assets,
100
52
  };
101
53
  });
102
- } catch (error) {
103
- console.error('Error: deleteMany', error);
104
- }
105
- },
106
- onPauseDownload: async (assetId: string) => {
107
- await pauseDownload(assetId);
108
- },
109
- onPlayVideo: async (assetId: string) => {
110
- try {
111
- const response: InterfaceDataPlay = await playAsset(assetId);
112
- return response;
113
- } catch (error) {
114
- console.log('error in onPlayVideo', error);
115
- return {};
116
- }
117
- },
118
- setError: (dataError: AssetError) => {
119
- return set((state) => {
120
- const assetIdExists = state.assetError.some(
121
- (error) => error.assetId === dataError.assetId
122
- );
123
- if (!assetIdExists) {
124
- return {
125
- assetError: [...state.assetError, { ...dataError }],
126
- assetsProgress: {},
127
- };
54
+ },
55
+ onGetAllAssets: async () => {
56
+ try {
57
+ const assets: PentheraTypes.ItemCatalog[] = await getDownloads('');
58
+ if (Array.isArray(assets)) {
59
+ const uniqueAssets = assets.filter(
60
+ (item, index, self) =>
61
+ self.findIndex((i) => i.id === item.id) === index
62
+ );
63
+ return set(() => ({
64
+ assets: uniqueAssets,
65
+ }));
66
+ }
67
+ } catch (error) {
68
+ console.log('error in getDownloads', error);
69
+ }
70
+ },
71
+ onDownload: async ({ item, url, drm }) => {
72
+ try {
73
+ await download(JSON.stringify({ item, url, drm }));
74
+ return set((state) => ({
75
+ assets: [...state.assets, { ...item, id: item.data.mediaId }],
76
+ assetsPending: state.assetsPending.filter(
77
+ (asset) => asset.id !== item.data.mediaId
78
+ ),
79
+ }));
80
+ } catch (error) {
81
+ console.error('error: downloadAsset', error);
82
+ }
83
+ },
84
+ deleteMany: async (assetIds: string[]) => {
85
+ try {
86
+ const vpids = assetIds.map((assetId) =>
87
+ get().getVpidByMediaId(assetId)
88
+ );
89
+ const response = await deleteMany(vpids);
90
+ const vpidsDeleted = Object.keys(response).filter(
91
+ (item) => response[item]
92
+ );
93
+ const deleted = vpidsDeleted.map((assetId) =>
94
+ get().getMediaIdByVpid(assetId)
95
+ );
96
+ return set((state) => {
97
+ const updatedAssetsProgress = { ...state.assetsProgress };
98
+ deleted.forEach((assetId: string) => {
99
+ if (state) {
100
+ delete updatedAssetsProgress[assetId];
101
+ }
102
+ });
103
+ return {
104
+ assets: state.assets.filter(
105
+ (asset) => !deleted.includes(asset.id as string)
106
+ ),
107
+ assetsProgress: updatedAssetsProgress,
108
+ };
109
+ });
110
+ } catch (error) {
111
+ console.error('Error: deleteMany', error);
112
+ }
113
+ },
114
+ onPauseDownload: async (assetId: string) => {
115
+ await pauseDownload(assetId);
116
+ },
117
+ onPlayVideo: async (assetId: string) => {
118
+ try {
119
+ const vpid = get().getVpidByMediaId(assetId);
120
+ const response: InterfaceDataPlay = await playAsset(vpid);
121
+ return response;
122
+ } catch (error) {
123
+ console.log('error in onPlayVideo', error);
124
+ return {};
128
125
  }
129
- return state;
130
- });
131
- },
132
- removeError: (assetIdToRemove: string) => {
133
- return set((state) => ({
134
- assetError: state.assetError.filter(
135
- (error) => error.assetId !== assetIdToRemove
136
- ),
137
- assetsProgress: {},
138
- }));
139
- },
140
- setConfigParameters: async (data) => {
141
- await configParameters(JSON.stringify(data));
142
- },
143
- clearAssetProgress: () => {
144
- return set(() => ({
145
- assetsProgress: {},
146
- }));
147
- },
148
- setAssetPending: (asset: PentheraTypes.ItemCatalog) => {
149
- set((state) => ({
150
- assetsPending: [...state.assetsPending, asset],
151
- }));
152
- },
153
- removeAssetPending: (assetId: string) => {
154
- set((state) => ({
155
- assetsPending: state.assetsPending.filter(
156
- (asset) => asset.id !== assetId
157
- ),
158
- }));
159
- },
160
- }));
126
+ },
127
+ setError: (dataError: AssetError) => {
128
+ return set((state) => {
129
+ const assetIdExists = state.assetError.some(
130
+ (error) => error.assetId === dataError.assetId
131
+ );
132
+ if (!assetIdExists) {
133
+ return {
134
+ assetError: [...state.assetError, { ...dataError }],
135
+ assetsProgress: {},
136
+ };
137
+ }
138
+ return state;
139
+ });
140
+ },
141
+ removeError: (assetIdToRemove: string) => {
142
+ return set((state) => ({
143
+ assetError: state.assetError.filter(
144
+ (error) => error.assetId !== assetIdToRemove
145
+ ),
146
+ assetsProgress: {},
147
+ }));
148
+ },
149
+ setConfigParameters: async (data) => {
150
+ await configParameters(JSON.stringify(data));
151
+ },
152
+ clearAssetProgress: () => {
153
+ return set(() => ({
154
+ assetsProgress: {},
155
+ }));
156
+ },
157
+ setAssetPending: (asset: PentheraTypes.ItemCatalog) => {
158
+ set((state) => ({
159
+ assetsPending: [...state.assetsPending, asset],
160
+ }));
161
+ },
162
+ removeAssetPending: (assetId: string) => {
163
+ set((state) => ({
164
+ assetsPending: state.assetsPending.filter(
165
+ (asset) => asset.id !== assetId
166
+ ),
167
+ }));
168
+ },
169
+ getVpidByMediaId: (mediaId: string) =>
170
+ get().assets.find((item) => item.data.mediaId === mediaId)?.data?.vpid ??
171
+ '',
172
+ getMediaIdByVpid: (vpid: string) =>
173
+ get().assets?.find((item) => item.data.vpid === vpid)?.data?.mediaId ??
174
+ '',
175
+ })
176
+ );
@@ -78,6 +78,8 @@ export type PentheraAction = {
78
78
  setAssetPending: (assets: PentheraTypes.ItemCatalog) => void;
79
79
  removeAssetPending: (assetID: string) => void;
80
80
  removeError: (id: string) => void;
81
+ getVpidByMediaId: (mediaId: string) => string;
82
+ getMediaIdByVpid: (vpid: string) => string;
81
83
  };
82
84
 
83
85
  export type Event = {
@@ -11,7 +11,7 @@ export declare namespace PentheraTypes {
11
11
  drm: boolean | string;
12
12
  thumbnails?: Thumbnails;
13
13
  subtitles?: Subtitles;
14
- data?: DataItem;
14
+ data: DataItem;
15
15
  isCompleted?: boolean;
16
16
  download_percentage?: number;
17
17
  isPaused?: boolean;
@@ -53,6 +53,8 @@ export declare namespace PentheraTypes {
53
53
  isExpired?: boolean;
54
54
  effectiveExpiryDate?: string;
55
55
  expiryDate?: string;
56
+ mediaId: string;
57
+ vpid: string;
56
58
  }
57
59
 
58
60
  export interface Classification {