Skip to content

Commit 17320ab

Browse files
Merge pull request #775 from inplayer-org/get-assets-in-package
added `getAssetsInPackage` method to Asset endpoints
2 parents d831fe2 + 1edbe2f commit 17320ab

File tree

7 files changed

+67
-1
lines changed

7 files changed

+67
-1
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
# [3.13.5] - 02-02-2023
6+
7+
### Added
8+
9+
- New `Assets` method `getAssetsInPackage`
10+
511
# [3.13.4] - 15-12-2022
612

713
### Added

index.d.ts

+9
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,14 @@ export declare interface GetMerchantPackage {
453453
collection: PackageDetails;
454454
}
455455

456+
export declare interface GetAssetsInPackage {
457+
total: number;
458+
page: number;
459+
offset: number;
460+
limit: number;
461+
collection: ItemDetailsV1[];
462+
}
463+
456464
export declare interface CloudfrontUrl {
457465
video_url: string;
458466
}
@@ -502,6 +510,7 @@ export declare class Asset {
502510
merchantUuid: string
503511
): Promise<AxiosResponse<ExternalItemDetails>>;
504512
getPackage(id: number): Promise<AxiosResponse<GetMerchantPackage>>;
513+
getAssetsInPackage(id: number): Promise<AxiosResponse<GetAssetsInPackage>>;
505514
getAssetAccessFees(id: number): Promise<AxiosResponse<GetAccessFee>>;
506515
getDonationOptions(assetId: number): Promise<AxiosResponse<DonationDetails>>;
507516
getAssetsHistory(

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@inplayer-org/inplayer.js",
3-
"version": "3.13.4",
3+
"version": "3.13.5",
44
"author": "InPlayer",
55
"license": "MIT",
66
"description": "A Javascript SDK for Inplayer's RESTful API",

src/constants/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export const API = {
4949
checkAccessForAsset: (id: number): string => `/items/${id}/access`,
5050
checkFreeTrial: (id: number): string => `/items/used-trial-period/${id}`,
5151
getPackage: (id: number): string => `/items/packages/${id}`,
52+
getAssetsInPackage: (id: number): string => `items/packages/${id}/items`,
5253
getAssetAccessFees: (id: number): string => `v2/items/${id}/access-fees`,
5354
getCloudfrontURL: (id: number, videoUrl: string): string =>
5455
`/items/${id}/access/cloudfront?url=${videoUrl}`,

src/endpoints/asset.ts

+40
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
DonationDetails,
1313
ExternalItemDetails,
1414
GetAccessFee,
15+
GetAssetsInPackage,
1516
GetItemAccessV1,
1617
GetMerchantPackage,
1718
ItemDetailsV1,
@@ -296,6 +297,45 @@ class Asset extends BaseExtend {
296297
return this.request.get(API.getPackage(id));
297298
}
298299

300+
/**
301+
* Get assets in a package
302+
* @method getAssetsInPackage
303+
* @async
304+
* @param {number} id The id of created package in InPlayer Dashboard.
305+
* @example
306+
* InPlayer.Asset
307+
* .getAssetsInPackage(4444)
308+
* .then(data => console.log(data));
309+
* @returns {AxiosResponse<GetAssetsInPackage>} Contains the data:
310+
* ```typescript
311+
* {
312+
* total: number;
313+
* page: number;
314+
* offset: number;
315+
* limit: number;
316+
* collection: [{
317+
* id: number;
318+
* merchant_id: number;
319+
* is_active: boolean;
320+
* title: string;
321+
* content: string;
322+
* item_type: {
323+
* id: number;
324+
* name: string;
325+
* content_type: string;
326+
* host: string;
327+
* description: string;
328+
* };
329+
* metadata: {};
330+
* items: number;
331+
* }];
332+
* }
333+
* ```
334+
*/
335+
async getAssetsInPackage(id: number): Promise<AxiosResponse<GetAssetsInPackage>> {
336+
return this.request.get(API.getAssetsInPackage(id));
337+
}
338+
299339
/**
300340
* Get the access fees for a given item
301341
* @method getAssetAccessFees

src/models/Config.ts

+1
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ export interface ApiEndpoints {
3939
checkAccessForAsset: (id: number) => string;
4040
checkFreeTrial: (id: number) => string;
4141
getPackage: (id: number) => string;
42+
getAssetsInPackage: (id: number) => string;
4243
getAssetAccessFees: (id: number) => string;
4344
getCloudfrontURL: (assetId: number, videoUrl: string) => string;
4445
getPurchaseHistory: (status: string, page?: number, size?: number) => string;

src/models/IAsset&Access.ts

+9
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,14 @@ export interface GetMerchantPackage {
237237
collection: PackageDetails;
238238
}
239239

240+
export interface GetAssetsInPackage {
241+
total: number;
242+
page: number;
243+
offset: number;
244+
limit: number;
245+
collection: ItemDetailsV1[];
246+
}
247+
240248
export interface RequestCodeAccessData {
241249
item_id: number;
242250
code: string;
@@ -362,6 +370,7 @@ export interface Asset extends BaseExtend {
362370
merchantUuid: string
363371
): Promise<AxiosResponse<ExternalItemDetails>>;
364372
getPackage(id: number): Promise<AxiosResponse<GetMerchantPackage>>;
373+
getAssetsInPackage(id: number): Promise<AxiosResponse<GetAssetsInPackage>>;
365374
getAssetAccessFees(id: number): Promise<AxiosResponse<GetAccessFee>>;
366375
getAssetsHistory(
367376
size?: number,

0 commit comments

Comments
 (0)