@takeoffmedia/react-native-penthera 0.2.30 → 0.2.32

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.
@@ -300,16 +300,14 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
300
300
  let licenceHttpHeader = drm["licence_server_http_header"] as! String? ?? ""
301
301
  let licence = drm["licence_server"] as! String? ?? ""
302
302
  let cert = drm["fairplay_cert"] as! String? ?? ""
303
+ FairPlayDrmSetup.initDrmUrls(certificateUrl: cert, licenceUrl: licence)
303
304
 
304
- guard let drmSetup = FairPlayDrmSetup(assetID: assetID, certificateUrl: cert, licenceUrl: licence, header: licenceHttpHeader, token: token) else {
305
+ if (!FairPlayDrmSetup.configureAsset(assetID: assetID, header:licenceHttpHeader, token: token)) {
305
306
  EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.FAIR_PLAY_LICENSE_DELEGATE_ERROR, assetId: "", body: "")
306
307
  return
307
308
  }
308
309
 
309
- if !drmSetup.configure() {
310
- EventEmitter.sharedInstance.dispatch(name: "penthera", code: PentheraEvent.FAIR_PLAY_LICENSE_DELEGATE_ERROR, assetId: "", body: "")
311
- return
312
- }
310
+
313
311
  config.protectionType = .vde_AssetProtectionTypeFairPlay
314
312
 
315
313
  }
@@ -342,6 +340,7 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
342
340
  func getDownloads(blank: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) -> Void {
343
341
  let completedAssets = VirtuosoAsset.completedAssets(withAvailabilityFilter: false)
344
342
  let pendingAssets = VirtuosoAsset.pendingAssets(withAvailabilityFilter: false)
343
+
345
344
  var offlineCatalogs: [OfflineCatalog] = []
346
345
 
347
346
  // Process completed and pending assets using a shared function
@@ -387,7 +386,7 @@ class Penthera: RCTEventEmitter, VirtuosoDownloadEngineNotificationsDelegate {
387
386
  thumbnails: thumbnails,
388
387
  isCompleted: va.downloadCompleteDateTime != nil ? true : false,
389
388
  isPaused: va.isPaused,
390
- percentage: Float(va.fractionComplete) / Float(va.estimatedSize)
389
+ percentage: Float(va.fractionComplete)
391
390
  )
392
391
  offlineCatalogs.append(catalog)
393
392
  }
@@ -1,106 +1,66 @@
1
- //
2
- // FairPlayDrmSetup.swift
3
- // react-native-test
4
- //
5
- // Created by Oscar Gonzalez on 14/02/23.
6
- //
7
-
8
1
  import UIKit
9
2
  import VirtuosoClientDownloadEngine
10
3
 
11
4
  class FairPlayDrmSetup: NSObject {
12
5
 
13
- // DRM SETUP REQUIRED
14
- private var assetID: String!
15
- private var customerAppCertificateUrl: String!
16
- private var customerLicenceUrl: String!
17
- private var customerLicenceHttpHeader: String!
18
- private var customerToken: String!
19
-
20
- init?(assetID: String, certificateUrl: String?, licenceUrl: String?, header: String?, token: String?) {
21
-
22
- guard let _ = licenceUrl else { return nil }
23
- guard let _ = certificateUrl else { return nil }
24
- guard let _ = header else { return nil }
25
- guard let _ = token else { return nil }
26
-
27
- self.customerAppCertificateUrl = certificateUrl
28
- self.customerLicenceUrl = licenceUrl
29
- self.customerLicenceHttpHeader = header
30
- self.customerToken = token
31
- self.assetID = assetID
6
+ private static var _delegate: VirtuosoClientDownloadEngine.VirtuosoLicenseDelegateHelper = _initDelegate()
7
+ private static var _delegate_lock = "DELEGATE_LOCK"
8
+
9
+ private static var _certificateUrl: String?
10
+ private static var _licenseUrl: String?
11
+
12
+ static func initDrmUrls(certificateUrl: String, licenceUrl: String) {
13
+ if(_certificateUrl == nil || _licenseUrl == nil){
14
+ _certificateUrl = certificateUrl
15
+ _licenseUrl = licenceUrl
16
+
17
+ VirtuosoLicenseManager.downloadClientAppCertificate(fromURL: certificateUrl, for: .vlm_FairPlay)
18
+ VirtuosoLicenseManager.setLicenseServerURL(licenceUrl, for: .vlm_FairPlay)
19
+
20
+ print("******************+")
21
+ print(certificateUrl)
22
+ print("******************+")
23
+
24
+ print("delegate --> \(FairPlayDrmSetup._delegate)")
25
+ VirtuosoLicenseManager.setDelegate(FairPlayDrmSetup._delegate)
26
+ VirtuosoLicenseManager.setLicenseProcessingDelegate(FairPlayLicenseProcessingDelegate())
27
+ }
28
+ }
29
+
30
+ private static func _initDelegate() -> VirtuosoClientDownloadEngine.VirtuosoLicenseDelegateHelper!
31
+ {
32
+ objc_sync_enter(_delegate_lock)
33
+
34
+ defer { objc_sync_exit(_delegate_lock) }
35
+ return VirtuosoLicenseDelegateHelper()
32
36
  }
33
-
34
- // Sample code showing how DRM might be configured.
35
- func configure() ->Bool {
36
-
37
- //
38
- // Local function used to resolve license manager delegate
39
- func createLicenseConfigurationDelegate() ->VirtuosoLicenseManagerDelegate? {
40
-
41
- // Class VirtuosoLicenseDelegateHelper is provided as a helper for implementing
42
- // delegate VirtuosoLicenseManagerDelegate. You are welcome to provide your own
43
- // implentation of VirtuosoLicenseManagerDelegate and not use VirtuosoLicenseDelegateHelper
44
- //
45
- // VirtuosoLicenseDelegateHelper will automatically handle the delegate methods
46
- // You need to provide VirtuosoLicenseConfiguration details and VirtuosoLicenseDelegateHelper
47
- // will use that to implement the delegate callbacks.
48
- //
49
- // There are two options for how you setup VirtuosoLicenseDelegateHelper:
50
- // 1) Provide one unique instance of VirtuosoLicenseConfiguration for each unique AssetID.
51
- // 2) Proide one instance of VirtuosoLicenseConfiguration which is then used for all Assdets
52
- //
53
- // If you need to customize the parameters VirtuosoLicenseConfiguration for individual Assets,
54
- // you can do that using the following:
55
- // delegate.addLicense(<#T##config: VirtuosoLicenseConfiguration##VirtuosoLicenseConfiguration#>, forAssetID: <#T##String#>)
56
- //
57
- // If the parameters for VirtuosoLicenseConfiguration apply uniformly to all of your Assets,
58
- // you can provide a single instance as follows:
59
- // delegate.addLicense(<#T##config: VirtuosoLicenseConfiguration##VirtuosoLicenseConfiguration#>)
60
-
61
- guard let vlc = VirtuosoLicenseConfiguration.init(suffix: nil, renewal: nil, parameters: [:], headers: [
62
- "X-AxDRM-Message" : customerToken!,
63
- "content-type" : "application/octet-stream"
64
- ]) else {
65
- return nil
66
- }
67
-
68
- let delegate = VirtuosoLicenseDelegateHelper()
69
- delegate.addLicense(vlc, forAssetID: assetID)
70
-
71
- // One of the following calls is required for this code to work.
72
- // delegate.addLicense(T##config: VirtuosoLicenseConfiguration##VirtuosoLicenseConfiguration)
73
- // delegate.addLicense(<#T##config: VirtuosoLicenseConfiguration##VirtuosoLicenseConfiguration#>, forAssetID: <#T##String#>)
74
-
75
- if (!delegate.isConfigured()) {
76
- // IMPORTANT
77
- // Code will fail here until you uncomment one of the above lines and initialize by adding a license.
78
- print("Code will fail here until you uncomment one of the above lines and initialize by adding a license.")
79
- return nil
80
- }
81
-
82
- return delegate
37
+
38
+ static func configureAsset(assetID: String, header: String?, token: String) ->Bool {
39
+
40
+ guard let _ = FairPlayDrmSetup._licenseUrl else {
41
+ print("******************+")
42
+ print("MUST CONFIGURE FAIRPLAY LICENSE URL on FairPlayDrmSetup before first use")
43
+ print("******************+")
44
+ return false
83
45
  }
84
46
 
85
- print("******************+")
86
- print(self.customerAppCertificateUrl!)
87
-
88
- print("******************+")
89
-
90
-
91
- VirtuosoLicenseManager.downloadClientAppCertificate(fromURL: self.customerAppCertificateUrl, for: .vlm_FairPlay)
92
- VirtuosoLicenseManager.setLicenseServerURL(self.customerLicenceUrl, for: .vlm_FairPlay)
93
-
94
- guard let delegate = createLicenseConfigurationDelegate() else {
95
- print("failed to initialize VirtuosoLicenseManager delegate")
47
+ guard let _ = FairPlayDrmSetup._certificateUrl else {
48
+ print("******************+")
49
+ print("MUST CONFIGURE FAIRPLAY CERTIFICATE URL on FairPlayDrmSetup before first use")
50
+ print("******************+")
96
51
  return false
97
52
  }
98
- print("delegate --> \(delegate)")
99
- VirtuosoLicenseManager.setDelegate(delegate)
100
- VirtuosoLicenseManager.setLicenseProcessingDelegate(FairPlayLicenseProcessingDelegate())
101
-
102
- //let contentKeySession = VirtuosoLicenseManager.registeredAVContentKeySession()
103
-
53
+
54
+
55
+ guard let vlc = VirtuosoLicenseConfiguration.init(suffix: nil, renewal: nil, parameters: [:], headers: [
56
+ "X-AxDRM-Message" : token,
57
+ "content-type" : "application/octet-stream"
58
+ ]) else {
59
+ return false
60
+ }
61
+
62
+ FairPlayDrmSetup._delegate.addLicense(vlc, forAssetID: assetID)
63
+
104
64
  return true
105
65
  }
106
66
 
@@ -14,6 +14,7 @@ const usePenthera = (0, _zustand.create)(set => ({
14
14
  assetId: '',
15
15
  description: ''
16
16
  },
17
+ assetsPending: [],
17
18
  loadAssets: assets => set(() => ({
18
19
  assets
19
20
  })),
@@ -28,6 +29,22 @@ const usePenthera = (0, _zustand.create)(set => ({
28
29
  }
29
30
  };
30
31
  }),
32
+ updateAssetCompleted: assetID => {
33
+ set(state => {
34
+ const assets = state.assets.map(item => {
35
+ if (item.id === assetID) {
36
+ return {
37
+ ...item,
38
+ isCompleted: true
39
+ };
40
+ }
41
+ return item;
42
+ });
43
+ return {
44
+ assets
45
+ };
46
+ });
47
+ },
31
48
  onGetAllAssets: async () => {
32
49
  try {
33
50
  const assets = await (0, _nativeModules.getDownloads)('');
@@ -65,7 +82,8 @@ const usePenthera = (0, _zustand.create)(set => ({
65
82
  assetError: {
66
83
  assetId: '',
67
84
  description: ''
68
- }
85
+ },
86
+ assetsPending: state.assetsPending.filter(asset => asset.id !== item.id)
69
87
  }));
70
88
  } catch (error) {
71
89
  console.error('error: downloadAsset', error);
@@ -118,6 +136,16 @@ const usePenthera = (0, _zustand.create)(set => ({
118
136
  return set(() => ({
119
137
  assetsProgress: {}
120
138
  }));
139
+ },
140
+ setAssetPending: asset => {
141
+ set(state => ({
142
+ assetsPending: [...state.assetsPending, asset]
143
+ }));
144
+ },
145
+ removeAssetPending: assetId => {
146
+ set(state => ({
147
+ assetsPending: state.assetsPending.filter(asset => asset.id !== assetId)
148
+ }));
121
149
  }
122
150
  }));
123
151
  exports.usePenthera = usePenthera;
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_zustand","_nativeModules","usePenthera","create","set","assets","assetsProgress","assetError","assetId","description","loadAssets","addAsset","asset","state","updateAssetsProgress","progress","onGetAllAssets","getDownloads","Array","isArray","error","console","log","onDownload","_ref","item","url","drm","_item$thumbnails","dataAndroid","asset_id","id","content_url","poster","thumbnails","thumbnail","subtitle","dataBySO","Platform","OS","download","JSON","stringify","deleteMany","assetIds","response","deleted","Object","keys","filter","updatedAssetsProgress","forEach","includes","onPauseDownload","pauseDownload","onPlayVideo","playAsset","setError","dataParse","setConfigParameters","data","configParameters","clearAssetProgress","exports"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_zustand","_nativeModules","usePenthera","create","set","assets","assetsProgress","assetError","assetId","description","assetsPending","loadAssets","addAsset","asset","state","updateAssetsProgress","progress","updateAssetCompleted","assetID","map","item","id","isCompleted","onGetAllAssets","getDownloads","Array","isArray","error","console","log","onDownload","_ref","url","drm","_item$thumbnails","dataAndroid","asset_id","content_url","poster","thumbnails","thumbnail","subtitle","dataBySO","Platform","OS","download","JSON","stringify","filter","deleteMany","assetIds","response","deleted","Object","keys","updatedAssetsProgress","forEach","includes","onPauseDownload","pauseDownload","onPlayVideo","playAsset","setError","dataParse","setConfigParameters","data","configParameters","clearAssetProgress","setAssetPending","removeAssetPending","exports"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"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"}
@@ -8,6 +8,7 @@ export const usePenthera = create(set => ({
8
8
  assetId: '',
9
9
  description: ''
10
10
  },
11
+ assetsPending: [],
11
12
  loadAssets: assets => set(() => ({
12
13
  assets
13
14
  })),
@@ -22,6 +23,22 @@ export const usePenthera = create(set => ({
22
23
  }
23
24
  };
24
25
  }),
26
+ updateAssetCompleted: assetID => {
27
+ set(state => {
28
+ const assets = state.assets.map(item => {
29
+ if (item.id === assetID) {
30
+ return {
31
+ ...item,
32
+ isCompleted: true
33
+ };
34
+ }
35
+ return item;
36
+ });
37
+ return {
38
+ assets
39
+ };
40
+ });
41
+ },
25
42
  onGetAllAssets: async () => {
26
43
  try {
27
44
  const assets = await getDownloads('');
@@ -59,7 +76,8 @@ export const usePenthera = create(set => ({
59
76
  assetError: {
60
77
  assetId: '',
61
78
  description: ''
62
- }
79
+ },
80
+ assetsPending: state.assetsPending.filter(asset => asset.id !== item.id)
63
81
  }));
64
82
  } catch (error) {
65
83
  console.error('error: downloadAsset', error);
@@ -112,6 +130,16 @@ export const usePenthera = create(set => ({
112
130
  return set(() => ({
113
131
  assetsProgress: {}
114
132
  }));
133
+ },
134
+ setAssetPending: asset => {
135
+ set(state => ({
136
+ assetsPending: [...state.assetsPending, asset]
137
+ }));
138
+ },
139
+ removeAssetPending: assetId => {
140
+ set(state => ({
141
+ assetsPending: state.assetsPending.filter(asset => asset.id !== assetId)
142
+ }));
115
143
  }
116
144
  }));
117
145
  //# sourceMappingURL=usePenthera.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","create","deleteMany","download","getDownloads","pauseDownload","playAsset","configParameters","usePenthera","set","assets","assetsProgress","assetError","assetId","description","loadAssets","addAsset","asset","state","updateAssetsProgress","progress","onGetAllAssets","Array","isArray","error","console","log","onDownload","_ref","item","url","drm","_item$thumbnails","dataAndroid","asset_id","id","content_url","poster","thumbnails","thumbnail","subtitle","dataBySO","OS","JSON","stringify","assetIds","response","deleted","Object","keys","filter","updatedAssetsProgress","forEach","includes","onPauseDownload","onPlayVideo","setError","dataParse","setConfigParameters","data","clearAssetProgress"],"sourceRoot":"../../../../src","sources":["hooks/usePenthera/usePenthera.tsx"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,MAAM,QAAQ,SAAS;AAOhC,SACEC,UAAU,EACVC,QAAQ,EACRC,YAAY,EACZC,aAAa,EACbC,SAAS,EACTC,gBAAgB,QACX,qBAAqB;AAG5B,OAAO,MAAMC,WAAW,GAAGP,MAAM,CAAkCQ,GAAG,KAAM;EAC1EC,MAAM,EAAE,EAAE;EACVC,cAAc,EAAE,CAAC,CAAC;EAClBC,UAAU,EAAE;IACVC,OAAO,EAAE,EAAE;IACXC,WAAW,EAAE;EACf,CAAC;EACDC,UAAU,EAAGL,MAA+B,IAC1CD,GAAG,CAAC,OAAO;IACTC;EACF,CAAC,CAAC,CAAC;EACLM,QAAQ,EAAGC,KAAK,IACdR,GAAG,CAAES,KAAK,KAAM;IACdR,MAAM,EAAE,CAAC,GAAGQ,KAAK,CAACR,MAAM,EAAEO,KAAK;EACjC,CAAC,CAAC,CAAC;EACLE,oBAAoB,EAAGC,QAAQ,IAC7BX,GAAG,CAAES,KAAK,IAAK;IACb,OAAO;MACLP,cAAc,EAAE;QACd,GAAGO,KAAK,CAACP,cAAc;QACvB,GAAGS;MACL;IACF,CAAC;EACH,CAAC,CAAC;EACJC,cAAc,EAAE,MAAAA,CAAA,KAAY;IAC1B,IAAI;MACF,MAAMX,MAAmC,GAAG,MAAMN,YAAY,CAAC,EAAE,CAAC;MAClE,IAAIkB,KAAK,CAACC,OAAO,CAACb,MAAM,CAAC,EAAE;QACzB,OAAOD,GAAG,CAAC,OAAO;UAChBC;QACF,CAAC,CAAC,CAAC;MACL;IACF,CAAC,CAAC,OAAOc,KAAK,EAAE;MACdC,OAAO,CAACC,GAAG,CAAC,uBAAuB,EAAEF,KAAK,CAAC;IAC7C;EACF,CAAC;EACDG,UAAU,EAAE,MAAAC,IAAA,IAA8B;IAAA,IAAvB;MAAEC,IAAI;MAAEC,GAAG;MAAEC;IAAI,CAAC,GAAAH,IAAA;IACnC,IAAI;MAAA,IAAAI,gBAAA;MACF,MAAMC,WAAW,GAAG;QAClBC,QAAQ,EAAEL,IAAI,CAACM,EAAE;QACjBC,WAAW,EAAEN,GAAG;QAChBO,MAAM,GAAAL,gBAAA,GAAEH,IAAI,CAACS,UAAU,cAAAN,gBAAA,uBAAfA,gBAAA,CAAiBO,SAAS;QAClCC,QAAQ,EAAE;MACZ,CAAC;MACD,MAAMC,QAAQ,GACZzC,QAAQ,CAAC0C,EAAE,KAAK,SAAS,GAAGT,WAAW,GAAG;QAAEJ,IAAI;QAAEC,GAAG;QAAEC;MAAI,CAAC;MAC9D,MAAM5B,QAAQ,CAACwC,IAAI,CAACC,SAAS,CAACH,QAAQ,CAAC,CAAC;MACxC,OAAOhC,GAAG,CAAES,KAAK,KAAM;QACrBR,MAAM,EAAE,CAAC,GAAGQ,KAAK,CAACR,MAAM,EAAEmB,IAAI,CAAC;QAC/BjB,UAAU,EAAE;UACVC,OAAO,EAAE,EAAE;UACXC,WAAW,EAAE;QACf;MACF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,OAAOU,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,sBAAsB,EAAEA,KAAK,CAAC;IAC9C;EACF,CAAC;EACDtB,UAAU,EAAE,MAAO2C,QAAkB,IAAK;IACxC,IAAI;MACF,MAAMC,QAAQ,GAAG,MAAM5C,UAAU,CAAC2C,QAAQ,CAAC;MAC3C,MAAME,OAAO,GAAGC,MAAM,CAACC,IAAI,CAACH,QAAQ,CAAC,CAACI,MAAM,CAAErB,IAAI,IAAKiB,QAAQ,CAACjB,IAAI,CAAC,CAAC;MAEtE,OAAOpB,GAAG,CAAES,KAAK,IAAK;QACpB,MAAMiC,qBAAqB,GAAG;UAAE,GAAGjC,KAAK,CAACP;QAAe,CAAC;QACzDoC,OAAO,CAACK,OAAO,CAAEvC,OAAe,IAAK;UACnC,IAAIK,KAAK,EAAE;YACT,OAAOiC,qBAAqB,CAACtC,OAAO,CAAC;UACvC;QACF,CAAC,CAAC;QACF,OAAO;UACLH,MAAM,EAAEQ,KAAK,CAACR,MAAM,CAACwC,MAAM,CACxBjC,KAAK,IAAK,CAAC8B,OAAO,CAACM,QAAQ,CAACpC,KAAK,CAACkB,EAAE,CAAW,CACjD;UACDxB,cAAc,EAAEwC;QAClB,CAAC;MACH,CAAC,CAAC;IACJ,CAAC,CAAC,OAAO3B,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,mBAAmB,EAAEA,KAAK,CAAC;IAC3C;EACF,CAAC;EACD8B,eAAe,EAAE,MAAOzC,OAAe,IAAK;IAC1C,MAAMR,aAAa,CAACQ,OAAO,CAAC;EAC9B,CAAC;EACD0C,WAAW,EAAE,MAAO1C,OAAe,IAAK;IACtC,IAAI;MACF,MAAMiC,QAA2B,GAAG,MAAMxC,SAAS,CAACO,OAAO,CAAC;MAC5D,OAAOiC,QAAQ;IACjB,CAAC,CAAC,OAAOtB,KAAK,EAAE;MACdC,OAAO,CAACC,GAAG,CAAC,sBAAsB,EAAEF,KAAK,CAAC;MAC1C,OAAO,CAAC,CAAC;IACX;EACF,CAAC;EACDgC,QAAQ,EAAGC,SAAS,IAAK;IACvB,OAAOhD,GAAG,CAAC,OAAO;MAChBG,UAAU,EAAE6C,SAAS;MACrB9C,cAAc,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;EACL,CAAC;EACD+C,mBAAmB,EAAE,MAAOC,IAAI,IAAK;IACnC,MAAMpD,gBAAgB,CAACoC,IAAI,CAACC,SAAS,CAACe,IAAI,CAAC,CAAC;EAC9C,CAAC;EACDC,kBAAkB,EAAEA,CAAA,KAAM;IACxB,OAAOnD,GAAG,CAAC,OAAO;MAChBE,cAAc,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;EACL;AACF,CAAC,CAAC,CAAC"}
1
+ {"version":3,"names":["Platform","create","deleteMany","download","getDownloads","pauseDownload","playAsset","configParameters","usePenthera","set","assets","assetsProgress","assetError","assetId","description","assetsPending","loadAssets","addAsset","asset","state","updateAssetsProgress","progress","updateAssetCompleted","assetID","map","item","id","isCompleted","onGetAllAssets","Array","isArray","error","console","log","onDownload","_ref","url","drm","_item$thumbnails","dataAndroid","asset_id","content_url","poster","thumbnails","thumbnail","subtitle","dataBySO","OS","JSON","stringify","filter","assetIds","response","deleted","Object","keys","updatedAssetsProgress","forEach","includes","onPauseDownload","onPlayVideo","setError","dataParse","setConfigParameters","data","clearAssetProgress","setAssetPending","removeAssetPending"],"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":"AAGA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAW7B,eAAO,MAAM,WAAW,6FA2GrB,CAAC"}
1
+ {"version":3,"file":"usePenthera.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/usePenthera.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EAEf,MAAM,qBAAqB,CAAC;AAW7B,eAAO,MAAM,WAAW,6FAwIrB,CAAC"}
@@ -35,6 +35,7 @@ export type PentheraState = {
35
35
  assets: PentheraTypes.ItemCatalog[] | [];
36
36
  assetsProgress: AssetProgress | {};
37
37
  assetError: AssetError;
38
+ assetsPending: PentheraTypes.ItemCatalog[] | [];
38
39
  };
39
40
  export type PentheraProviderProps = React.PropsWithChildren<{
40
41
  userId: string;
@@ -58,6 +59,9 @@ export type PentheraAction = {
58
59
  setError: (data: AssetError) => void;
59
60
  setConfigParameters: (data: PentheraTypes.IConfigParameters) => void;
60
61
  clearAssetProgress: () => void;
62
+ updateAssetCompleted: (assetID: string) => void;
63
+ setAssetPending: (assets: PentheraTypes.ItemCatalog) => void;
64
+ removeAssetPending: (assetID: string) => void;
61
65
  };
62
66
  export type Event = {
63
67
  code: PentheraEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"usePenthera.types.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/usePenthera.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,oBAAY,aAAa;IACvB,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAC/C,gBAAgB,qBAAqB;IACrC,iBAAiB,sBAAsB;IACvC,mBAAmB,wBAAwB;IAC3C,6BAA6B,kCAAkC;IAC/D,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,mBAAmB,wBAAwB;CAC5C;AACD,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,KAAK,QAAQ,GAAG,MAAM,CAAC;AAEvB,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC;IACzC,cAAc,EAAE,aAAa,GAAG,EAAE,CAAC;IACnC,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,WAAW,KAAK,IAAI,CAAC;IACrD,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACzC,oBAAoB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7D,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,UAAU,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC7D,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACrC,mBAAmB,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,iBAAiB,KAAK,IAAI,CAAC;IACrE,kBAAkB,EAAE,MAAM,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC"}
1
+ {"version":3,"file":"usePenthera.types.d.ts","sourceRoot":"","sources":["../../../../src/hooks/usePenthera/usePenthera.types.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.2.30",
3
+ "version": "0.2.32",
4
4
  "description": "test",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -23,6 +23,7 @@ export const usePenthera = create<PentheraState & PentheraAction>((set) => ({
23
23
  assetId: '',
24
24
  description: '',
25
25
  },
26
+ assetsPending: [],
26
27
  loadAssets: (assets: PentheraState['assets']) =>
27
28
  set(() => ({
28
29
  assets,
@@ -40,6 +41,19 @@ export const usePenthera = create<PentheraState & PentheraAction>((set) => ({
40
41
  },
41
42
  };
42
43
  }),
44
+ updateAssetCompleted: (assetID: string) => {
45
+ set((state) => {
46
+ const assets = state.assets.map((item) => {
47
+ if (item.id === assetID) {
48
+ return { ...item, isCompleted: true };
49
+ }
50
+ return item;
51
+ });
52
+ return {
53
+ assets,
54
+ };
55
+ });
56
+ },
43
57
  onGetAllAssets: async () => {
44
58
  try {
45
59
  const assets: PentheraTypes.ItemCatalog[] = await getDownloads('');
@@ -69,6 +83,9 @@ export const usePenthera = create<PentheraState & PentheraAction>((set) => ({
69
83
  assetId: '',
70
84
  description: '',
71
85
  },
86
+ assetsPending: state.assetsPending.filter(
87
+ (asset) => asset.id !== item.id
88
+ ),
72
89
  }));
73
90
  } catch (error) {
74
91
  console.error('error: downloadAsset', error);
@@ -123,4 +140,16 @@ export const usePenthera = create<PentheraState & PentheraAction>((set) => ({
123
140
  assetsProgress: {},
124
141
  }));
125
142
  },
143
+ setAssetPending: (asset: PentheraTypes.ItemCatalog) => {
144
+ set((state) => ({
145
+ assetsPending: [...state.assetsPending, asset],
146
+ }));
147
+ },
148
+ removeAssetPending: (assetId: string) => {
149
+ set((state) => ({
150
+ assetsPending: state.assetsPending.filter(
151
+ (asset) => asset.id !== assetId
152
+ ),
153
+ }));
154
+ },
126
155
  }));
@@ -39,6 +39,7 @@ export type PentheraState = {
39
39
  assets: PentheraTypes.ItemCatalog[] | [];
40
40
  assetsProgress: AssetProgress | {};
41
41
  assetError: AssetError;
42
+ assetsPending: PentheraTypes.ItemCatalog[] | [];
42
43
  };
43
44
 
44
45
  export type PentheraProviderProps = React.PropsWithChildren<{
@@ -65,6 +66,9 @@ export type PentheraAction = {
65
66
  setError: (data: AssetError) => void;
66
67
  setConfigParameters: (data: PentheraTypes.IConfigParameters) => void;
67
68
  clearAssetProgress: () => void;
69
+ updateAssetCompleted: (assetID: string) => void;
70
+ setAssetPending: (assets: PentheraTypes.ItemCatalog) => void;
71
+ removeAssetPending: (assetID: string) => void;
68
72
  };
69
73
 
70
74
  export type Event = {