@bitmovin/api-sdk
Version:
Bitmovin JS/TS API SDK
100 lines (99 loc) • 4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const BaseAPI_1 = require("../../../../common/BaseAPI");
const Mapper_1 = require("../../../../common/Mapper");
const CustomdataApi_1 = require("./customdata/CustomdataApi");
const BitmovinResponse_1 = require("../../../../models/BitmovinResponse");
const Thumbnail_1 = require("../../../../models/Thumbnail");
const PaginationResponse_1 = require("../../../../models/PaginationResponse");
const ThumbnailListQueryParams_1 = require("./ThumbnailListQueryParams");
/**
* ThumbnailsApi - object-oriented interface
* @export
* @class ThumbnailsApi
* @extends {BaseAPI}
*/
class ThumbnailsApi extends BaseAPI_1.BaseAPI {
constructor(configuration) {
super(configuration);
this.customdata = new CustomdataApi_1.default(configuration);
}
/**
* @summary Add Thumbnail
* @param {string} encodingId Id of the encoding.
* @param {string} streamId Id of the stream.
* @param {Thumbnail} thumbnail The Thumbnail to be added
* @throws {BitmovinError}
* @memberof ThumbnailsApi
*/
create(encodingId, streamId, thumbnail) {
const pathParamMap = {
encoding_id: encodingId,
stream_id: streamId
};
return this.restClient.post('/encoding/encodings/{encoding_id}/streams/{stream_id}/thumbnails', pathParamMap, thumbnail).then((response) => {
return (0, Mapper_1.map)(response, Thumbnail_1.default);
});
}
/**
* @summary Delete Thumbnail
* @param {string} encodingId Id of the encoding.
* @param {string} streamId Id of the stream.
* @param {string} thumbnailId Id of the thumbnail.
* @throws {BitmovinError}
* @memberof ThumbnailsApi
*/
delete(encodingId, streamId, thumbnailId) {
const pathParamMap = {
encoding_id: encodingId,
stream_id: streamId,
thumbnail_id: thumbnailId
};
return this.restClient.delete('/encoding/encodings/{encoding_id}/streams/{stream_id}/thumbnails/{thumbnail_id}', pathParamMap).then((response) => {
return (0, Mapper_1.map)(response, BitmovinResponse_1.default);
});
}
/**
* @summary Thumbnail Details
* @param {string} encodingId Id of the encoding.
* @param {string} streamId Id of the stream.
* @param {string} thumbnailId Id of the thumbnail.
* @throws {BitmovinError}
* @memberof ThumbnailsApi
*/
get(encodingId, streamId, thumbnailId) {
const pathParamMap = {
encoding_id: encodingId,
stream_id: streamId,
thumbnail_id: thumbnailId
};
return this.restClient.get('/encoding/encodings/{encoding_id}/streams/{stream_id}/thumbnails/{thumbnail_id}', pathParamMap).then((response) => {
return (0, Mapper_1.map)(response, Thumbnail_1.default);
});
}
/**
* @summary List Thumbnails
* @param {string} encodingId Id of the encoding.
* @param {string} streamId Id of the stream.
* @param {*} [queryParameters] query parameters for filtering, sorting and pagination
* @throws {BitmovinError}
* @memberof ThumbnailsApi
*/
list(encodingId, streamId, queryParameters) {
const pathParamMap = {
encoding_id: encodingId,
stream_id: streamId
};
let queryParams = {};
if (typeof queryParameters === 'function') {
queryParams = queryParameters(new ThumbnailListQueryParams_1.ThumbnailListQueryParamsBuilder()).buildQueryParams();
}
else if (queryParameters) {
queryParams = queryParameters;
}
return this.restClient.get('/encoding/encodings/{encoding_id}/streams/{stream_id}/thumbnails', pathParamMap, queryParams).then((response) => {
return new PaginationResponse_1.default(response, Thumbnail_1.default);
});
}
}
exports.default = ThumbnailsApi;