@aiozstream/nodejs-client
Version:
AIOZ stream nodejs API client
381 lines (380 loc) • 18.9 kB
JavaScript
"use strict";
/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-non-null-assertion */
/**
* @aiozstream/nodejs-client
* Aioz Stream Service
*
* The version of the OpenAPI document: 1.0
*
*
* NOTE: This class is auto generated.
* Do not edit the class manually.
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.COLLECTION_FORMATS = void 0;
const AddPlayerThemesToVideoRequest_1 = __importDefault(require("./model/AddPlayerThemesToVideoRequest"));
const AddVideoToPlaylistRequest_1 = __importDefault(require("./model/AddVideoToPlaylistRequest"));
const ApiKey_1 = __importDefault(require("./model/ApiKey"));
const Asset_1 = __importDefault(require("./model/Asset"));
const AudioConfig_1 = __importDefault(require("./model/AudioConfig"));
const Controls_1 = __importDefault(require("./model/Controls"));
const CreateApiKeyData_1 = __importDefault(require("./model/CreateApiKeyData"));
const CreateApiKeyRequest_1 = __importDefault(require("./model/CreateApiKeyRequest"));
const CreateApiKeyResponse_1 = __importDefault(require("./model/CreateApiKeyResponse"));
const CreateMediaRequest_1 = __importDefault(require("./model/CreateMediaRequest"));
const CreateMediaResponse_1 = __importDefault(require("./model/CreateMediaResponse"));
const CreatePlayerThemeRequest_1 = __importDefault(require("./model/CreatePlayerThemeRequest"));
const CreatePlayerThemesData_1 = __importDefault(require("./model/CreatePlayerThemesData"));
const CreatePlayerThemesResponse_1 = __importDefault(require("./model/CreatePlayerThemesResponse"));
const CreatePlaylistData_1 = __importDefault(require("./model/CreatePlaylistData"));
const CreatePlaylistRequest_1 = __importDefault(require("./model/CreatePlaylistRequest"));
const CreatePlaylistResponse_1 = __importDefault(require("./model/CreatePlaylistResponse"));
const CreateVideoCaptionData_1 = __importDefault(require("./model/CreateVideoCaptionData"));
const CreateVideoCaptionResponse_1 = __importDefault(require("./model/CreateVideoCaptionResponse"));
const CreateVideoChapterData_1 = __importDefault(require("./model/CreateVideoChapterData"));
const CreateVideoChapterResponse_1 = __importDefault(require("./model/CreateVideoChapterResponse"));
const CreateWebhookData_1 = __importDefault(require("./model/CreateWebhookData"));
const CreateWebhookRequest_1 = __importDefault(require("./model/CreateWebhookRequest"));
const CreateWebhookResponse_1 = __importDefault(require("./model/CreateWebhookResponse"));
const GetApiKeysData_1 = __importDefault(require("./model/GetApiKeysData"));
const GetApiKeysResponse_1 = __importDefault(require("./model/GetApiKeysResponse"));
const GetPlayerThemeByIdData_1 = __importDefault(require("./model/GetPlayerThemeByIdData"));
const GetPlayerThemeByIdResponse_1 = __importDefault(require("./model/GetPlayerThemeByIdResponse"));
const GetPlayerThemeData_1 = __importDefault(require("./model/GetPlayerThemeData"));
const GetPlayerThemeResponse_1 = __importDefault(require("./model/GetPlayerThemeResponse"));
const GetPlaylistByIdData_1 = __importDefault(require("./model/GetPlaylistByIdData"));
const GetPlaylistByIdResponse_1 = __importDefault(require("./model/GetPlaylistByIdResponse"));
const GetPlaylistListData_1 = __importDefault(require("./model/GetPlaylistListData"));
const GetPlaylistListRequest_1 = __importDefault(require("./model/GetPlaylistListRequest"));
const GetPlaylistListResponse_1 = __importDefault(require("./model/GetPlaylistListResponse"));
const GetTranscodeCostData_1 = __importDefault(require("./model/GetTranscodeCostData"));
const GetTranscodeCostResponse_1 = __importDefault(require("./model/GetTranscodeCostResponse"));
const GetUserWebhookData_1 = __importDefault(require("./model/GetUserWebhookData"));
const GetUserWebhookResponse_1 = __importDefault(require("./model/GetUserWebhookResponse"));
const GetVideoCaptionsData_1 = __importDefault(require("./model/GetVideoCaptionsData"));
const GetVideoCaptionsResponse_1 = __importDefault(require("./model/GetVideoCaptionsResponse"));
const GetVideoChaptersData_1 = __importDefault(require("./model/GetVideoChaptersData"));
const GetVideoChaptersResponse_1 = __importDefault(require("./model/GetVideoChaptersResponse"));
const GetVideoDetailResponse_1 = __importDefault(require("./model/GetVideoDetailResponse"));
const GetVideoListData_1 = __importDefault(require("./model/GetVideoListData"));
const GetVideoListRequest_1 = __importDefault(require("./model/GetVideoListRequest"));
const GetVideoListResponse_1 = __importDefault(require("./model/GetVideoListResponse"));
const GetVideoPlayerInfoResponse_1 = __importDefault(require("./model/GetVideoPlayerInfoResponse"));
const GetWebhooksListData_1 = __importDefault(require("./model/GetWebhooksListData"));
const GetWebhooksListResponse_1 = __importDefault(require("./model/GetWebhooksListResponse"));
const Media_1 = __importDefault(require("./model/Media"));
const Metadata_1 = __importDefault(require("./model/Metadata"));
const MoveVideoInPlaylistRequest_1 = __importDefault(require("./model/MoveVideoInPlaylistRequest"));
const PlayerTheme_1 = __importDefault(require("./model/PlayerTheme"));
const Playlist_1 = __importDefault(require("./model/Playlist"));
const PlaylistItem_1 = __importDefault(require("./model/PlaylistItem"));
const PlaylistItemMedia_1 = __importDefault(require("./model/PlaylistItemMedia"));
const PublicPlaylistObject_1 = __importDefault(require("./model/PublicPlaylistObject"));
const QualityConfig_1 = __importDefault(require("./model/QualityConfig"));
const QualityObject_1 = __importDefault(require("./model/QualityObject"));
const RemovePlayerThemesFromMediaRequest_1 = __importDefault(require("./model/RemovePlayerThemesFromMediaRequest"));
const RenameAPIKeyRequest_1 = __importDefault(require("./model/RenameAPIKeyRequest"));
const RequestCreateCaption_1 = __importDefault(require("./model/RequestCreateCaption"));
const ResponseError_1 = __importDefault(require("./model/ResponseError"));
const ResponseSuccess_1 = __importDefault(require("./model/ResponseSuccess"));
const Theme_1 = __importDefault(require("./model/Theme"));
const UpdatePlayerThemeRequest_1 = __importDefault(require("./model/UpdatePlayerThemeRequest"));
const UpdatePlayerThemeResponse_1 = __importDefault(require("./model/UpdatePlayerThemeResponse"));
const UpdateVideoInfoRequest_1 = __importDefault(require("./model/UpdateVideoInfoRequest"));
const UpdateWebhookRequest_1 = __importDefault(require("./model/UpdateWebhookRequest"));
const UploadLogoByIdResponse_1 = __importDefault(require("./model/UploadLogoByIdResponse"));
const User_1 = __importDefault(require("./model/User"));
const VideoAssets_1 = __importDefault(require("./model/VideoAssets"));
const VideoCaption_1 = __importDefault(require("./model/VideoCaption"));
const VideoChapter_1 = __importDefault(require("./model/VideoChapter"));
const VideoConfig_1 = __importDefault(require("./model/VideoConfig"));
const VideoWatermark_1 = __importDefault(require("./model/VideoWatermark"));
const Webhook_1 = __importDefault(require("./model/Webhook"));
/* tslint:disable:no-unused-variable */
const primitives = [
'string',
'boolean',
'double',
'integer',
'long',
'float',
'number',
'any',
];
exports.COLLECTION_FORMATS = {
csv: ',',
ssv: ' ',
tsv: '\t',
pipes: '|',
};
const supportedMediaTypes = {
'application/json': Infinity,
'application/octet-stream': 0,
};
const enumsMap = new Set([]);
const typeMap = {
AddPlayerThemesToVideoRequest: AddPlayerThemesToVideoRequest_1.default,
AddVideoToPlaylistRequest: AddVideoToPlaylistRequest_1.default,
ApiKey: ApiKey_1.default,
Asset: Asset_1.default,
AudioConfig: AudioConfig_1.default,
Controls: Controls_1.default,
CreateApiKeyData: CreateApiKeyData_1.default,
CreateApiKeyRequest: CreateApiKeyRequest_1.default,
CreateApiKeyResponse: CreateApiKeyResponse_1.default,
CreateMediaRequest: CreateMediaRequest_1.default,
CreateMediaResponse: CreateMediaResponse_1.default,
CreatePlayerThemeRequest: CreatePlayerThemeRequest_1.default,
CreatePlayerThemesData: CreatePlayerThemesData_1.default,
CreatePlayerThemesResponse: CreatePlayerThemesResponse_1.default,
CreatePlaylistData: CreatePlaylistData_1.default,
CreatePlaylistRequest: CreatePlaylistRequest_1.default,
CreatePlaylistResponse: CreatePlaylistResponse_1.default,
CreateVideoCaptionData: CreateVideoCaptionData_1.default,
CreateVideoCaptionResponse: CreateVideoCaptionResponse_1.default,
CreateVideoChapterData: CreateVideoChapterData_1.default,
CreateVideoChapterResponse: CreateVideoChapterResponse_1.default,
CreateWebhookData: CreateWebhookData_1.default,
CreateWebhookRequest: CreateWebhookRequest_1.default,
CreateWebhookResponse: CreateWebhookResponse_1.default,
GetApiKeysData: GetApiKeysData_1.default,
GetApiKeysResponse: GetApiKeysResponse_1.default,
GetPlayerThemeByIdData: GetPlayerThemeByIdData_1.default,
GetPlayerThemeByIdResponse: GetPlayerThemeByIdResponse_1.default,
GetPlayerThemeData: GetPlayerThemeData_1.default,
GetPlayerThemeResponse: GetPlayerThemeResponse_1.default,
GetPlaylistByIdData: GetPlaylistByIdData_1.default,
GetPlaylistByIdResponse: GetPlaylistByIdResponse_1.default,
GetPlaylistListData: GetPlaylistListData_1.default,
GetPlaylistListRequest: GetPlaylistListRequest_1.default,
GetPlaylistListResponse: GetPlaylistListResponse_1.default,
GetTranscodeCostData: GetTranscodeCostData_1.default,
GetTranscodeCostResponse: GetTranscodeCostResponse_1.default,
GetUserWebhookData: GetUserWebhookData_1.default,
GetUserWebhookResponse: GetUserWebhookResponse_1.default,
GetVideoCaptionsData: GetVideoCaptionsData_1.default,
GetVideoCaptionsResponse: GetVideoCaptionsResponse_1.default,
GetVideoChaptersData: GetVideoChaptersData_1.default,
GetVideoChaptersResponse: GetVideoChaptersResponse_1.default,
GetVideoDetailResponse: GetVideoDetailResponse_1.default,
GetVideoListData: GetVideoListData_1.default,
GetVideoListRequest: GetVideoListRequest_1.default,
GetVideoListResponse: GetVideoListResponse_1.default,
GetVideoPlayerInfoResponse: GetVideoPlayerInfoResponse_1.default,
GetWebhooksListData: GetWebhooksListData_1.default,
GetWebhooksListResponse: GetWebhooksListResponse_1.default,
Media: Media_1.default,
Metadata: Metadata_1.default,
MoveVideoInPlaylistRequest: MoveVideoInPlaylistRequest_1.default,
PlayerTheme: PlayerTheme_1.default,
Playlist: Playlist_1.default,
PlaylistItem: PlaylistItem_1.default,
PlaylistItemMedia: PlaylistItemMedia_1.default,
PublicPlaylistObject: PublicPlaylistObject_1.default,
QualityConfig: QualityConfig_1.default,
QualityObject: QualityObject_1.default,
RemovePlayerThemesFromMediaRequest: RemovePlayerThemesFromMediaRequest_1.default,
RenameAPIKeyRequest: RenameAPIKeyRequest_1.default,
RequestCreateCaption: RequestCreateCaption_1.default,
ResponseError: ResponseError_1.default,
ResponseSuccess: ResponseSuccess_1.default,
Theme: Theme_1.default,
UpdatePlayerThemeRequest: UpdatePlayerThemeRequest_1.default,
UpdatePlayerThemeResponse: UpdatePlayerThemeResponse_1.default,
UpdateVideoInfoRequest: UpdateVideoInfoRequest_1.default,
UpdateWebhookRequest: UpdateWebhookRequest_1.default,
UploadLogoByIdResponse: UploadLogoByIdResponse_1.default,
User: User_1.default,
VideoAssets: VideoAssets_1.default,
VideoCaption: VideoCaption_1.default,
VideoChapter: VideoChapter_1.default,
VideoConfig: VideoConfig_1.default,
VideoWatermark: VideoWatermark_1.default,
Webhook: Webhook_1.default,
};
class ObjectSerializer {
static findCorrectType(data, expectedType) {
// Check the discriminator
if (typeMap[expectedType]) {
const discriminatorProperty = typeMap[expectedType].discriminator;
if (discriminatorProperty && data[discriminatorProperty]) {
const discriminatorType = data[discriminatorProperty];
if (typeMap[discriminatorType]) {
return discriminatorType; // use the type given in the discriminator
}
}
}
return expectedType;
}
static serialize(data, type, format, defaultValue) {
if (data == undefined) {
if (typeof defaultValue === 'undefined') {
return data;
}
data = defaultValue;
}
if (primitives.indexOf(type.toLowerCase()) !== -1) {
return data;
}
else if (type.lastIndexOf('Array<', 0) === 0) {
// string.startsWith pre es6
let subType = type.replace('Array<', ''); // Array<Type> => Type>
subType = subType.substring(0, subType.length - 1); // Type> => Type
const transformedData = [];
for (const index in data) {
const date = data[index];
transformedData.push(ObjectSerializer.serialize(date, subType, format));
}
return transformedData;
}
else if (type === 'Date') {
if (format == 'date') {
let month = data.getMonth() + 1;
month = month < 10 ? '0' + month.toString() : month.toString();
let day = data.getDate();
day = day < 10 ? '0' + day.toString() : day.toString();
return data.getFullYear() + '-' + month + '-' + day;
}
else {
return data.toISOString().split('.')[0] + 'Z';
}
}
else {
if (enumsMap.has(type)) {
return data;
}
if (!typeMap[type]) {
// in case we dont know the type
return data;
}
// Get the actual type of this object
type = this.findCorrectType(data, type);
// get the map for the correct type.
const attributeTypes = typeMap[type].getAttributeTypeMap();
const instance = {};
for (const index in attributeTypes) {
const attributeType = attributeTypes[index];
instance[attributeType.baseName] = ObjectSerializer.serialize(data[attributeType.name], attributeType.type, attributeType.format, attributeType.defaultValue);
}
return instance;
}
}
static deserialize(data, type, format) {
// polymorphism may change the actual type.
type = ObjectSerializer.findCorrectType(data, type);
if (data == undefined) {
return data;
}
else if (primitives.indexOf(type.toLowerCase()) !== -1) {
return data;
}
else if (type.lastIndexOf('Array<', 0) === 0) {
// string.startsWith pre es6
let subType = type.replace('Array<', ''); // Array<Type> => Type>
subType = subType.substring(0, subType.length - 1); // Type> => Type
const transformedData = [];
for (const index in data) {
const date = data[index];
transformedData.push(ObjectSerializer.deserialize(date, subType, format));
}
return transformedData;
}
else if (type === 'Date') {
return new Date(data);
}
else {
if (enumsMap.has(type)) {
// is Enum
return data;
}
if (!typeMap[type]) {
// dont know the type
return data;
}
const instance = new typeMap[type]();
const attributeTypes = typeMap[type].getAttributeTypeMap();
for (const index in attributeTypes) {
const attributeType = attributeTypes[index];
instance[attributeType.name] = ObjectSerializer.deserialize(data[attributeType.baseName], attributeType.type, attributeType.format);
}
return instance;
}
}
/**
* Normalize media type
*
* We currently do not handle any media types attributes, i.e. anything
* after a semicolon. All content is assumed to be UTF-8 compatible.
*/
static normalizeMediaType(mediaType) {
if (mediaType === undefined) {
return undefined;
}
return mediaType.split(';')[0].trim().toLowerCase();
}
/**
* From a list of possible media types, choose the one we can handle best.
*
* The order of the given media types does not have any impact on the choice
* made.
*/
static getPreferredMediaType(mediaTypes) {
/** According to OAS 3 we should default to json */
if (!mediaTypes) {
return 'application/json';
}
const normalMediaTypes = mediaTypes
.map(this.normalizeMediaType)
.filter((mt) => mt);
let selectedMediaType = undefined;
let selectedRank = -Infinity;
for (const mediaType of normalMediaTypes) {
if (supportedMediaTypes[mediaType] > selectedRank) {
selectedMediaType = mediaType;
selectedRank = supportedMediaTypes[mediaType];
}
}
if (selectedMediaType === undefined) {
throw new Error('None of the given media types are supported: ' + mediaTypes.join(', '));
}
return selectedMediaType;
}
/**
* Convert data to a string according the given media type
*/
static stringify(data, mediaType) {
if (mediaType === 'application/json') {
return JSON.stringify(data);
}
// HTTP DELETE response.
if (data === '') {
return data;
}
throw new Error('The mediaType ' +
mediaType +
' is not supported by ObjectSerializer.stringify.');
}
/**
* Parse data from a string according to the given media type
*/
static parse(rawData, mediaType) {
if (mediaType === undefined) {
// HTTP DELETE response.
if (rawData === '' || rawData === '""') {
return rawData;
}
throw new Error('Cannot parse content. No Content-Type defined.');
}
if (mediaType === 'application/json' ||
mediaType.indexOf('application/vnd.stream+json;version=') === 0) {
return JSON.parse(rawData);
}
throw new Error('The mediaType ' +
mediaType +
' is not supported by ObjectSerializer.parse.');
}
}
exports.default = ObjectSerializer;