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