@@ -17,6 +17,8 @@ import {
1717 GetMerchantPackage ,
1818 ItemDetailsV1 ,
1919 RequestDataCaptureAccessData ,
20+ SignedMediaPayload ,
21+ SignedMediaResponse ,
2022} from '../models/IAsset&Access' ;
2123import BaseExtend from '../extends/base' ;
2224import { API } from '../constants' ;
@@ -59,7 +61,9 @@ class Asset extends BaseExtend {
5961 * }
6062 * ```
6163 */
62- async checkAccessForAsset ( id : number ) : Promise < AxiosResponse < GetItemAccessV1 > > {
64+ async checkAccessForAsset (
65+ id : number ,
66+ ) : Promise < AxiosResponse < GetItemAccessV1 > > {
6367 const tokenObject = await this . request . getToken ( ) ;
6468
6569 return this . request . authenticatedGet ( API . checkAccessForAsset ( id ) , {
@@ -128,7 +132,10 @@ class Asset extends BaseExtend {
128132 * }
129133 * ```
130134 */
131- async getAsset ( assetId : number , merchantUuid : string ) : Promise < AxiosResponse < ItemDetailsV1 > > {
135+ async getAsset (
136+ assetId : number ,
137+ merchantUuid : string ,
138+ ) : Promise < AxiosResponse < ItemDetailsV1 > > {
132139 return this . request . get ( API . getAsset ( assetId , merchantUuid ) ) ;
133140 }
134141
@@ -332,7 +339,9 @@ class Asset extends BaseExtend {
332339 * }
333340 * ```
334341 */
335- async getAssetsInPackage ( id : number ) : Promise < AxiosResponse < GetAssetsInPackage > > {
342+ async getAssetsInPackage (
343+ id : number ,
344+ ) : Promise < AxiosResponse < GetAssetsInPackage > > {
336345 return this . request . get ( API . getAssetsInPackage ( id ) ) ;
337346 }
338347
@@ -622,7 +631,9 @@ class Asset extends BaseExtend {
622631 * }
623632 * ```
624633 */
625- getAccessCode ( assetId : number ) : CodeAccessData | null | Promise < CodeAccessData | null > {
634+ getAccessCode (
635+ assetId : number ,
636+ ) : CodeAccessData | null | Promise < CodeAccessData | null > {
626637 const accessCode = tokenStorage . getItem (
627638 this . config . INPLAYER_ACCESS_CODE_NAME ( assetId ) ,
628639 ) ;
@@ -632,7 +643,9 @@ class Asset extends BaseExtend {
632643 ( resolvedString ? ( JSON . parse ( resolvedString ) as CodeAccessData ) : null ) ) as Promise < CodeAccessData | null > ;
633644 }
634645
635- return accessCode ? ( JSON . parse ( accessCode as string ) as CodeAccessData ) : null ;
646+ return accessCode
647+ ? ( JSON . parse ( accessCode as string ) as CodeAccessData )
648+ : null ;
636649 }
637650
638651 /**
@@ -655,7 +668,9 @@ class Asset extends BaseExtend {
655668 * }]
656669 * ```
657670 */
658- async getAccesCodeSessions ( codeId : number ) : Promise < AxiosResponse < Array < CodeAccessSessionsData > > > {
671+ async getAccesCodeSessions (
672+ codeId : number ,
673+ ) : Promise < AxiosResponse < Array < CodeAccessSessionsData > > > {
659674 return this . request . get ( API . requestAccessCodeSessions ( codeId ) ) ;
660675 }
661676
@@ -676,7 +691,9 @@ class Asset extends BaseExtend {
676691 * }
677692 * ```
678693 */
679- async terminateSession ( assetId : number ) : Promise < AxiosResponse < CommonResponse > | null > {
694+ async terminateSession (
695+ assetId : number ,
696+ ) : Promise < AxiosResponse < CommonResponse > | null > {
680697 const accessCode : CodeAccessData | null = await this . getAccessCode ( assetId ) ;
681698
682699 if ( ! accessCode ) {
@@ -756,7 +773,10 @@ class Asset extends BaseExtend {
756773 * }
757774 * ```
758775 */
759- async getCloudfrontURL ( assetId : number , videoUrl : string ) : Promise < AxiosResponse < CloudfrontUrl > > {
776+ async getCloudfrontURL (
777+ assetId : number ,
778+ videoUrl : string ,
779+ ) : Promise < AxiosResponse < CloudfrontUrl > > {
760780 const tokenObject = await this . request . getToken ( ) ;
761781
762782 return this . request . get ( API . getCloudfrontURL ( assetId , videoUrl ) , {
@@ -793,7 +813,9 @@ class Asset extends BaseExtend {
793813 * }
794814 * ```
795815 */
796- async getDonationOptions ( assetId : number ) : Promise < AxiosResponse < DonationDetails > > {
816+ async getDonationOptions (
817+ assetId : number ,
818+ ) : Promise < AxiosResponse < DonationDetails > > {
797819 const tokenObject = await this . request . getToken ( ) ;
798820
799821 return this . request . get ( API . getDonations ( assetId ) , {
@@ -802,6 +824,35 @@ class Asset extends BaseExtend {
802824 } ,
803825 } ) ;
804826 }
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+ }
805856}
806857
807858export default Asset ;
0 commit comments