@@ -17,6 +17,8 @@ import {
17
17
GetMerchantPackage ,
18
18
ItemDetailsV1 ,
19
19
RequestDataCaptureAccessData ,
20
+ SignedMediaPayload ,
21
+ SignedMediaResponse ,
20
22
} from '../models/IAsset&Access' ;
21
23
import BaseExtend from '../extends/base' ;
22
24
import { API } from '../constants' ;
@@ -59,7 +61,9 @@ class Asset extends BaseExtend {
59
61
* }
60
62
* ```
61
63
*/
62
- async checkAccessForAsset ( id : number ) : Promise < AxiosResponse < GetItemAccessV1 > > {
64
+ async checkAccessForAsset (
65
+ id : number ,
66
+ ) : Promise < AxiosResponse < GetItemAccessV1 > > {
63
67
const tokenObject = await this . request . getToken ( ) ;
64
68
65
69
return this . request . authenticatedGet ( API . checkAccessForAsset ( id ) , {
@@ -128,7 +132,10 @@ class Asset extends BaseExtend {
128
132
* }
129
133
* ```
130
134
*/
131
- async getAsset ( assetId : number , merchantUuid : string ) : Promise < AxiosResponse < ItemDetailsV1 > > {
135
+ async getAsset (
136
+ assetId : number ,
137
+ merchantUuid : string ,
138
+ ) : Promise < AxiosResponse < ItemDetailsV1 > > {
132
139
return this . request . get ( API . getAsset ( assetId , merchantUuid ) ) ;
133
140
}
134
141
@@ -332,7 +339,9 @@ class Asset extends BaseExtend {
332
339
* }
333
340
* ```
334
341
*/
335
- async getAssetsInPackage ( id : number ) : Promise < AxiosResponse < GetAssetsInPackage > > {
342
+ async getAssetsInPackage (
343
+ id : number ,
344
+ ) : Promise < AxiosResponse < GetAssetsInPackage > > {
336
345
return this . request . get ( API . getAssetsInPackage ( id ) ) ;
337
346
}
338
347
@@ -622,7 +631,9 @@ class Asset extends BaseExtend {
622
631
* }
623
632
* ```
624
633
*/
625
- getAccessCode ( assetId : number ) : CodeAccessData | null | Promise < CodeAccessData | null > {
634
+ getAccessCode (
635
+ assetId : number ,
636
+ ) : CodeAccessData | null | Promise < CodeAccessData | null > {
626
637
const accessCode = tokenStorage . getItem (
627
638
this . config . INPLAYER_ACCESS_CODE_NAME ( assetId ) ,
628
639
) ;
@@ -632,7 +643,9 @@ class Asset extends BaseExtend {
632
643
( resolvedString ? ( JSON . parse ( resolvedString ) as CodeAccessData ) : null ) ) as Promise < CodeAccessData | null > ;
633
644
}
634
645
635
- return accessCode ? ( JSON . parse ( accessCode as string ) as CodeAccessData ) : null ;
646
+ return accessCode
647
+ ? ( JSON . parse ( accessCode as string ) as CodeAccessData )
648
+ : null ;
636
649
}
637
650
638
651
/**
@@ -655,7 +668,9 @@ class Asset extends BaseExtend {
655
668
* }]
656
669
* ```
657
670
*/
658
- async getAccesCodeSessions ( codeId : number ) : Promise < AxiosResponse < Array < CodeAccessSessionsData > > > {
671
+ async getAccesCodeSessions (
672
+ codeId : number ,
673
+ ) : Promise < AxiosResponse < Array < CodeAccessSessionsData > > > {
659
674
return this . request . get ( API . requestAccessCodeSessions ( codeId ) ) ;
660
675
}
661
676
@@ -676,7 +691,9 @@ class Asset extends BaseExtend {
676
691
* }
677
692
* ```
678
693
*/
679
- async terminateSession ( assetId : number ) : Promise < AxiosResponse < CommonResponse > | null > {
694
+ async terminateSession (
695
+ assetId : number ,
696
+ ) : Promise < AxiosResponse < CommonResponse > | null > {
680
697
const accessCode : CodeAccessData | null = await this . getAccessCode ( assetId ) ;
681
698
682
699
if ( ! accessCode ) {
@@ -756,7 +773,10 @@ class Asset extends BaseExtend {
756
773
* }
757
774
* ```
758
775
*/
759
- async getCloudfrontURL ( assetId : number , videoUrl : string ) : Promise < AxiosResponse < CloudfrontUrl > > {
776
+ async getCloudfrontURL (
777
+ assetId : number ,
778
+ videoUrl : string ,
779
+ ) : Promise < AxiosResponse < CloudfrontUrl > > {
760
780
const tokenObject = await this . request . getToken ( ) ;
761
781
762
782
return this . request . get ( API . getCloudfrontURL ( assetId , videoUrl ) , {
@@ -793,7 +813,9 @@ class Asset extends BaseExtend {
793
813
* }
794
814
* ```
795
815
*/
796
- async getDonationOptions ( assetId : number ) : Promise < AxiosResponse < DonationDetails > > {
816
+ async getDonationOptions (
817
+ assetId : number ,
818
+ ) : Promise < AxiosResponse < DonationDetails > > {
797
819
const tokenObject = await this . request . getToken ( ) ;
798
820
799
821
return this . request . get ( API . getDonations ( assetId ) , {
@@ -802,6 +824,35 @@ class Asset extends BaseExtend {
802
824
} ,
803
825
} ) ;
804
826
}
827
+
828
+ /**
829
+ * Retrieves a signed token for media protection
830
+ * @method getSignedMediaToken
831
+ * @async
832
+ * @param {number } appConfigId The id of the config used on the OTT Web App
833
+ * @param {number } mediaId The id of the requested media to watch on the OTT Web App
834
+ * @example
835
+ * InPlayer.Asset
836
+ * .getSignedMediaToken('slgaIsfX', 'kAscZclP)
837
+ * .then(data => console.log(data));
838
+ * @returns {AxiosResponse<SignedMediaResponse> } Contains the data:
839
+ * ```typescript
840
+ * {
841
+ * token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX...
842
+ * }
843
+ */
844
+ async getSignedMediaToken ( {
845
+ appConfigId,
846
+ mediaId,
847
+ } : SignedMediaPayload ) : Promise < AxiosResponse < SignedMediaResponse > > {
848
+ const tokenObject = await this . request . getToken ( ) ;
849
+
850
+ return this . request . get ( API . getSignedMediaToken ( appConfigId , mediaId ) , {
851
+ headers : {
852
+ Authorization : `Bearer ${ tokenObject . token } ` ,
853
+ } ,
854
+ } ) ;
855
+ }
805
856
}
806
857
807
858
export default Asset ;
0 commit comments