@bitmovin/api-sdk
Version:
Bitmovin JS/TS API SDK
108 lines (107 loc) • 5.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const BaseAPI_1 = require("../../../../../../../../common/BaseAPI");
const Mapper_1 = require("../../../../../../../../common/Mapper");
const ContentprotectionApi_1 = require("./contentprotection/ContentprotectionApi");
const BitmovinResponse_1 = require("../../../../../../../../models/BitmovinResponse");
const DashFmp4DrmRepresentation_1 = require("../../../../../../../../models/DashFmp4DrmRepresentation");
const PaginationResponse_1 = require("../../../../../../../../models/PaginationResponse");
const DashFmp4DrmRepresentationListQueryParams_1 = require("./DashFmp4DrmRepresentationListQueryParams");
/**
* DrmApi - object-oriented interface
* @export
* @class DrmApi
* @extends {BaseAPI}
*/
class DrmApi extends BaseAPI_1.BaseAPI {
constructor(configuration) {
super(configuration);
this.contentprotection = new ContentprotectionApi_1.default(configuration);
}
/**
* @summary Add DRM fMP4 Representation
* @param {string} manifestId Id of the manifest
* @param {string} periodId Id of the period
* @param {string} adaptationsetId Id of the adaptation set
* @param {DashFmp4DrmRepresentation} dashFmp4DrmRepresentation The DRM fMP4 representation to be added to the adaptation set
* @throws {BitmovinError}
* @memberof DrmApi
*/
create(manifestId, periodId, adaptationsetId, dashFmp4DrmRepresentation) {
const pathParamMap = {
manifest_id: manifestId,
period_id: periodId,
adaptationset_id: adaptationsetId
};
return this.restClient.post('/encoding/manifests/dash/{manifest_id}/periods/{period_id}/adaptationsets/{adaptationset_id}/representations/fmp4/drm', pathParamMap, dashFmp4DrmRepresentation).then((response) => {
return (0, Mapper_1.map)(response, DashFmp4DrmRepresentation_1.default);
});
}
/**
* @summary Delete DRM fMP4 Representation
* @param {string} manifestId Id of the manifest
* @param {string} periodId Id of the period
* @param {string} adaptationsetId Id of the adaptation set
* @param {string} representationId Id of the DRM fMP4 representation to be deleted
* @throws {BitmovinError}
* @memberof DrmApi
*/
delete(manifestId, periodId, adaptationsetId, representationId) {
const pathParamMap = {
manifest_id: manifestId,
period_id: periodId,
adaptationset_id: adaptationsetId,
representation_id: representationId
};
return this.restClient.delete('/encoding/manifests/dash/{manifest_id}/periods/{period_id}/adaptationsets/{adaptationset_id}/representations/fmp4/drm/{representation_id}', pathParamMap).then((response) => {
return (0, Mapper_1.map)(response, BitmovinResponse_1.default);
});
}
/**
* @summary DRM fMP4 Representation Details
* @param {string} manifestId Id of the manifest
* @param {string} periodId Id of the period
* @param {string} adaptationsetId Id of the adaptation set
* @param {string} representationId Id of the representation
* @throws {BitmovinError}
* @memberof DrmApi
*/
get(manifestId, periodId, adaptationsetId, representationId) {
const pathParamMap = {
manifest_id: manifestId,
period_id: periodId,
adaptationset_id: adaptationsetId,
representation_id: representationId
};
return this.restClient.get('/encoding/manifests/dash/{manifest_id}/periods/{period_id}/adaptationsets/{adaptationset_id}/representations/fmp4/drm/{representation_id}', pathParamMap).then((response) => {
return (0, Mapper_1.map)(response, DashFmp4DrmRepresentation_1.default);
});
}
/**
* @summary List all DRM fMP4 Representations
* @param {string} manifestId Id of the manifest
* @param {string} periodId Id of the period
* @param {string} adaptationsetId Id of the adaptation set
* @param {*} [queryParameters] query parameters for filtering, sorting and pagination
* @throws {BitmovinError}
* @memberof DrmApi
*/
list(manifestId, periodId, adaptationsetId, queryParameters) {
const pathParamMap = {
manifest_id: manifestId,
period_id: periodId,
adaptationset_id: adaptationsetId
};
let queryParams = {};
if (typeof queryParameters === 'function') {
queryParams = queryParameters(new DashFmp4DrmRepresentationListQueryParams_1.DashFmp4DrmRepresentationListQueryParamsBuilder()).buildQueryParams();
}
else if (queryParameters) {
queryParams = queryParameters;
}
return this.restClient.get('/encoding/manifests/dash/{manifest_id}/periods/{period_id}/adaptationsets/{adaptationset_id}/representations/fmp4/drm', pathParamMap, queryParams).then((response) => {
return new PaginationResponse_1.default(response, DashFmp4DrmRepresentation_1.default);
});
}
}
exports.default = DrmApi;