UNPKG

@bitmovin/api-sdk

Version:

Bitmovin JS/TS API SDK

90 lines (89 loc) 3.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const BaseAPI_1 = require("../../../../../common/BaseAPI"); const Mapper_1 = require("../../../../../common/Mapper"); const BitmovinResponse_1 = require("../../../../../models/BitmovinResponse"); const SubtitlesMediaInfo_1 = require("../../../../../models/SubtitlesMediaInfo"); const PaginationResponse_1 = require("../../../../../models/PaginationResponse"); const SubtitlesMediaInfoListQueryParams_1 = require("./SubtitlesMediaInfoListQueryParams"); /** * SubtitlesApi - object-oriented interface * @export * @class SubtitlesApi * @extends {BaseAPI} */ class SubtitlesApi extends BaseAPI_1.BaseAPI { constructor(configuration) { super(configuration); } /** * @summary Add Subtitles Media * @param {string} manifestId Id of the hls manifest. * @param {SubtitlesMediaInfo} subtitlesMediaInfo The Subtitles Media to be added * @throws {BitmovinError} * @memberof SubtitlesApi */ create(manifestId, subtitlesMediaInfo) { const pathParamMap = { manifest_id: manifestId }; return this.restClient.post('/encoding/manifests/hls/{manifest_id}/media/subtitles', pathParamMap, subtitlesMediaInfo).then((response) => { return (0, Mapper_1.map)(response, SubtitlesMediaInfo_1.default); }); } /** * @summary Delete Subtitles Media * @param {string} manifestId Id of the hls manifest. * @param {string} mediaId Id of the subtitles media. * @throws {BitmovinError} * @memberof SubtitlesApi */ delete(manifestId, mediaId) { const pathParamMap = { manifest_id: manifestId, media_id: mediaId }; return this.restClient.delete('/encoding/manifests/hls/{manifest_id}/media/subtitles/{media_id}', pathParamMap).then((response) => { return (0, Mapper_1.map)(response, BitmovinResponse_1.default); }); } /** * @summary Subtitles Media Details * @param {string} manifestId Id of the hls manifest. * @param {string} mediaId Id of the subtitles media. * @throws {BitmovinError} * @memberof SubtitlesApi */ get(manifestId, mediaId) { const pathParamMap = { manifest_id: manifestId, media_id: mediaId }; return this.restClient.get('/encoding/manifests/hls/{manifest_id}/media/subtitles/{media_id}', pathParamMap).then((response) => { return (0, Mapper_1.map)(response, SubtitlesMediaInfo_1.default); }); } /** * @summary List all Subtitles Media * @param {string} manifestId Id of the hls manifest. * @param {*} [queryParameters] query parameters for filtering, sorting and pagination * @throws {BitmovinError} * @memberof SubtitlesApi */ list(manifestId, queryParameters) { const pathParamMap = { manifest_id: manifestId }; let queryParams = {}; if (typeof queryParameters === 'function') { queryParams = queryParameters(new SubtitlesMediaInfoListQueryParams_1.SubtitlesMediaInfoListQueryParamsBuilder()).buildQueryParams(); } else if (queryParameters) { queryParams = queryParameters; } return this.restClient.get('/encoding/manifests/hls/{manifest_id}/media/subtitles', pathParamMap, queryParams).then((response) => { return new PaginationResponse_1.default(response, SubtitlesMediaInfo_1.default); }); } } exports.default = SubtitlesApi;