jellyfin-discord-bot/server/jellyfin/models/DeviceProfile.ts

424 lines
17 KiB
TypeScript

/* tslint:disable */
/* eslint-disable */
/**
* Jellyfin API
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
*
* The version of the OpenAPI document: 10.8.9
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
import { exists, mapValues } from '../runtime';
import type { CodecProfile } from './CodecProfile';
import {
CodecProfileFromJSON,
CodecProfileFromJSONTyped,
CodecProfileToJSON,
} from './CodecProfile';
import type { ContainerProfile } from './ContainerProfile';
import {
ContainerProfileFromJSON,
ContainerProfileFromJSONTyped,
ContainerProfileToJSON,
} from './ContainerProfile';
import type { DeviceProfileIdentification } from './DeviceProfileIdentification';
import {
DeviceProfileIdentificationFromJSON,
DeviceProfileIdentificationFromJSONTyped,
DeviceProfileIdentificationToJSON,
} from './DeviceProfileIdentification';
import type { DirectPlayProfile } from './DirectPlayProfile';
import {
DirectPlayProfileFromJSON,
DirectPlayProfileFromJSONTyped,
DirectPlayProfileToJSON,
} from './DirectPlayProfile';
import type { ResponseProfile } from './ResponseProfile';
import {
ResponseProfileFromJSON,
ResponseProfileFromJSONTyped,
ResponseProfileToJSON,
} from './ResponseProfile';
import type { SubtitleProfile } from './SubtitleProfile';
import {
SubtitleProfileFromJSON,
SubtitleProfileFromJSONTyped,
SubtitleProfileToJSON,
} from './SubtitleProfile';
import type { TranscodingProfile } from './TranscodingProfile';
import {
TranscodingProfileFromJSON,
TranscodingProfileFromJSONTyped,
TranscodingProfileToJSON,
} from './TranscodingProfile';
import type { XmlAttribute } from './XmlAttribute';
import {
XmlAttributeFromJSON,
XmlAttributeFromJSONTyped,
XmlAttributeToJSON,
} from './XmlAttribute';
/**
* A MediaBrowser.Model.Dlna.DeviceProfile represents a set of metadata which determines which content a certain device is able to play.
* <br />
* Specifically, it defines the supported <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.ContainerProfiles">containers</see> and
* <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.CodecProfiles">codecs</see> (video and/or audio, including codec profiles and levels)
* the device is able to direct play (without transcoding or remuxing),
* as well as which <see cref="P:MediaBrowser.Model.Dlna.DeviceProfile.TranscodingProfiles">containers/codecs to transcode to</see> in case it isn't.
* @export
* @interface DeviceProfile
*/
export interface DeviceProfile {
/**
* Gets or sets the name of this device profile.
* @type {string}
* @memberof DeviceProfile
*/
name?: string | null;
/**
* Gets or sets the Id.
* @type {string}
* @memberof DeviceProfile
*/
id?: string | null;
/**
*
* @type {DeviceProfileIdentification}
* @memberof DeviceProfile
*/
identification?: DeviceProfileIdentification | null;
/**
* Gets or sets the friendly name of the device profile, which can be shown to users.
* @type {string}
* @memberof DeviceProfile
*/
friendlyName?: string | null;
/**
* Gets or sets the manufacturer of the device which this profile represents.
* @type {string}
* @memberof DeviceProfile
*/
manufacturer?: string | null;
/**
* Gets or sets an url for the manufacturer of the device which this profile represents.
* @type {string}
* @memberof DeviceProfile
*/
manufacturerUrl?: string | null;
/**
* Gets or sets the model name of the device which this profile represents.
* @type {string}
* @memberof DeviceProfile
*/
modelName?: string | null;
/**
* Gets or sets the model description of the device which this profile represents.
* @type {string}
* @memberof DeviceProfile
*/
modelDescription?: string | null;
/**
* Gets or sets the model number of the device which this profile represents.
* @type {string}
* @memberof DeviceProfile
*/
modelNumber?: string | null;
/**
* Gets or sets the ModelUrl.
* @type {string}
* @memberof DeviceProfile
*/
modelUrl?: string | null;
/**
* Gets or sets the serial number of the device which this profile represents.
* @type {string}
* @memberof DeviceProfile
*/
serialNumber?: string | null;
/**
* Gets or sets a value indicating whether EnableAlbumArtInDidl.
* @type {boolean}
* @memberof DeviceProfile
*/
enableAlbumArtInDidl?: boolean;
/**
* Gets or sets a value indicating whether EnableSingleAlbumArtLimit.
* @type {boolean}
* @memberof DeviceProfile
*/
enableSingleAlbumArtLimit?: boolean;
/**
* Gets or sets a value indicating whether EnableSingleSubtitleLimit.
* @type {boolean}
* @memberof DeviceProfile
*/
enableSingleSubtitleLimit?: boolean;
/**
* Gets or sets the SupportedMediaTypes.
* @type {string}
* @memberof DeviceProfile
*/
supportedMediaTypes?: string;
/**
* Gets or sets the UserId.
* @type {string}
* @memberof DeviceProfile
*/
userId?: string | null;
/**
* Gets or sets the AlbumArtPn.
* @type {string}
* @memberof DeviceProfile
*/
albumArtPn?: string | null;
/**
* Gets or sets the MaxAlbumArtWidth.
* @type {number}
* @memberof DeviceProfile
*/
maxAlbumArtWidth?: number | null;
/**
* Gets or sets the MaxAlbumArtHeight.
* @type {number}
* @memberof DeviceProfile
*/
maxAlbumArtHeight?: number | null;
/**
* Gets or sets the maximum allowed width of embedded icons.
* @type {number}
* @memberof DeviceProfile
*/
maxIconWidth?: number | null;
/**
* Gets or sets the maximum allowed height of embedded icons.
* @type {number}
* @memberof DeviceProfile
*/
maxIconHeight?: number | null;
/**
* Gets or sets the maximum allowed bitrate for all streamed content.
* @type {number}
* @memberof DeviceProfile
*/
maxStreamingBitrate?: number | null;
/**
* Gets or sets the maximum allowed bitrate for statically streamed content (= direct played files).
* @type {number}
* @memberof DeviceProfile
*/
maxStaticBitrate?: number | null;
/**
* Gets or sets the maximum allowed bitrate for transcoded music streams.
* @type {number}
* @memberof DeviceProfile
*/
musicStreamingTranscodingBitrate?: number | null;
/**
* Gets or sets the maximum allowed bitrate for statically streamed (= direct played) music files.
* @type {number}
* @memberof DeviceProfile
*/
maxStaticMusicBitrate?: number | null;
/**
* Gets or sets the content of the aggregationFlags element in the urn:schemas-sonycom:av namespace.
* @type {string}
* @memberof DeviceProfile
*/
sonyAggregationFlags?: string | null;
/**
* Gets or sets the ProtocolInfo.
* @type {string}
* @memberof DeviceProfile
*/
protocolInfo?: string | null;
/**
* Gets or sets the TimelineOffsetSeconds.
* @type {number}
* @memberof DeviceProfile
*/
timelineOffsetSeconds?: number;
/**
* Gets or sets a value indicating whether RequiresPlainVideoItems.
* @type {boolean}
* @memberof DeviceProfile
*/
requiresPlainVideoItems?: boolean;
/**
* Gets or sets a value indicating whether RequiresPlainFolders.
* @type {boolean}
* @memberof DeviceProfile
*/
requiresPlainFolders?: boolean;
/**
* Gets or sets a value indicating whether EnableMSMediaReceiverRegistrar.
* @type {boolean}
* @memberof DeviceProfile
*/
enableMSMediaReceiverRegistrar?: boolean;
/**
* Gets or sets a value indicating whether IgnoreTranscodeByteRangeRequests.
* @type {boolean}
* @memberof DeviceProfile
*/
ignoreTranscodeByteRangeRequests?: boolean;
/**
* Gets or sets the XmlRootAttributes.
* @type {Array<XmlAttribute>}
* @memberof DeviceProfile
*/
xmlRootAttributes?: Array<XmlAttribute>;
/**
* Gets or sets the direct play profiles.
* @type {Array<DirectPlayProfile>}
* @memberof DeviceProfile
*/
directPlayProfiles?: Array<DirectPlayProfile>;
/**
* Gets or sets the transcoding profiles.
* @type {Array<TranscodingProfile>}
* @memberof DeviceProfile
*/
transcodingProfiles?: Array<TranscodingProfile>;
/**
* Gets or sets the container profiles.
* @type {Array<ContainerProfile>}
* @memberof DeviceProfile
*/
containerProfiles?: Array<ContainerProfile>;
/**
* Gets or sets the codec profiles.
* @type {Array<CodecProfile>}
* @memberof DeviceProfile
*/
codecProfiles?: Array<CodecProfile>;
/**
* Gets or sets the ResponseProfiles.
* @type {Array<ResponseProfile>}
* @memberof DeviceProfile
*/
responseProfiles?: Array<ResponseProfile>;
/**
* Gets or sets the subtitle profiles.
* @type {Array<SubtitleProfile>}
* @memberof DeviceProfile
*/
subtitleProfiles?: Array<SubtitleProfile>;
}
/**
* Check if a given object implements the DeviceProfile interface.
*/
export function instanceOfDeviceProfile(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function DeviceProfileFromJSON(json: any): DeviceProfile {
return DeviceProfileFromJSONTyped(json, false);
}
export function DeviceProfileFromJSONTyped(json: any, ignoreDiscriminator: boolean): DeviceProfile {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'name': !exists(json, 'Name') ? undefined : json['Name'],
'id': !exists(json, 'Id') ? undefined : json['Id'],
'identification': !exists(json, 'Identification') ? undefined : DeviceProfileIdentificationFromJSON(json['Identification']),
'friendlyName': !exists(json, 'FriendlyName') ? undefined : json['FriendlyName'],
'manufacturer': !exists(json, 'Manufacturer') ? undefined : json['Manufacturer'],
'manufacturerUrl': !exists(json, 'ManufacturerUrl') ? undefined : json['ManufacturerUrl'],
'modelName': !exists(json, 'ModelName') ? undefined : json['ModelName'],
'modelDescription': !exists(json, 'ModelDescription') ? undefined : json['ModelDescription'],
'modelNumber': !exists(json, 'ModelNumber') ? undefined : json['ModelNumber'],
'modelUrl': !exists(json, 'ModelUrl') ? undefined : json['ModelUrl'],
'serialNumber': !exists(json, 'SerialNumber') ? undefined : json['SerialNumber'],
'enableAlbumArtInDidl': !exists(json, 'EnableAlbumArtInDidl') ? undefined : json['EnableAlbumArtInDidl'],
'enableSingleAlbumArtLimit': !exists(json, 'EnableSingleAlbumArtLimit') ? undefined : json['EnableSingleAlbumArtLimit'],
'enableSingleSubtitleLimit': !exists(json, 'EnableSingleSubtitleLimit') ? undefined : json['EnableSingleSubtitleLimit'],
'supportedMediaTypes': !exists(json, 'SupportedMediaTypes') ? undefined : json['SupportedMediaTypes'],
'userId': !exists(json, 'UserId') ? undefined : json['UserId'],
'albumArtPn': !exists(json, 'AlbumArtPn') ? undefined : json['AlbumArtPn'],
'maxAlbumArtWidth': !exists(json, 'MaxAlbumArtWidth') ? undefined : json['MaxAlbumArtWidth'],
'maxAlbumArtHeight': !exists(json, 'MaxAlbumArtHeight') ? undefined : json['MaxAlbumArtHeight'],
'maxIconWidth': !exists(json, 'MaxIconWidth') ? undefined : json['MaxIconWidth'],
'maxIconHeight': !exists(json, 'MaxIconHeight') ? undefined : json['MaxIconHeight'],
'maxStreamingBitrate': !exists(json, 'MaxStreamingBitrate') ? undefined : json['MaxStreamingBitrate'],
'maxStaticBitrate': !exists(json, 'MaxStaticBitrate') ? undefined : json['MaxStaticBitrate'],
'musicStreamingTranscodingBitrate': !exists(json, 'MusicStreamingTranscodingBitrate') ? undefined : json['MusicStreamingTranscodingBitrate'],
'maxStaticMusicBitrate': !exists(json, 'MaxStaticMusicBitrate') ? undefined : json['MaxStaticMusicBitrate'],
'sonyAggregationFlags': !exists(json, 'SonyAggregationFlags') ? undefined : json['SonyAggregationFlags'],
'protocolInfo': !exists(json, 'ProtocolInfo') ? undefined : json['ProtocolInfo'],
'timelineOffsetSeconds': !exists(json, 'TimelineOffsetSeconds') ? undefined : json['TimelineOffsetSeconds'],
'requiresPlainVideoItems': !exists(json, 'RequiresPlainVideoItems') ? undefined : json['RequiresPlainVideoItems'],
'requiresPlainFolders': !exists(json, 'RequiresPlainFolders') ? undefined : json['RequiresPlainFolders'],
'enableMSMediaReceiverRegistrar': !exists(json, 'EnableMSMediaReceiverRegistrar') ? undefined : json['EnableMSMediaReceiverRegistrar'],
'ignoreTranscodeByteRangeRequests': !exists(json, 'IgnoreTranscodeByteRangeRequests') ? undefined : json['IgnoreTranscodeByteRangeRequests'],
'xmlRootAttributes': !exists(json, 'XmlRootAttributes') ? undefined : ((json['XmlRootAttributes'] as Array<any>).map(XmlAttributeFromJSON)),
'directPlayProfiles': !exists(json, 'DirectPlayProfiles') ? undefined : ((json['DirectPlayProfiles'] as Array<any>).map(DirectPlayProfileFromJSON)),
'transcodingProfiles': !exists(json, 'TranscodingProfiles') ? undefined : ((json['TranscodingProfiles'] as Array<any>).map(TranscodingProfileFromJSON)),
'containerProfiles': !exists(json, 'ContainerProfiles') ? undefined : ((json['ContainerProfiles'] as Array<any>).map(ContainerProfileFromJSON)),
'codecProfiles': !exists(json, 'CodecProfiles') ? undefined : ((json['CodecProfiles'] as Array<any>).map(CodecProfileFromJSON)),
'responseProfiles': !exists(json, 'ResponseProfiles') ? undefined : ((json['ResponseProfiles'] as Array<any>).map(ResponseProfileFromJSON)),
'subtitleProfiles': !exists(json, 'SubtitleProfiles') ? undefined : ((json['SubtitleProfiles'] as Array<any>).map(SubtitleProfileFromJSON)),
};
}
export function DeviceProfileToJSON(value?: DeviceProfile | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'Name': value.name,
'Id': value.id,
'Identification': DeviceProfileIdentificationToJSON(value.identification),
'FriendlyName': value.friendlyName,
'Manufacturer': value.manufacturer,
'ManufacturerUrl': value.manufacturerUrl,
'ModelName': value.modelName,
'ModelDescription': value.modelDescription,
'ModelNumber': value.modelNumber,
'ModelUrl': value.modelUrl,
'SerialNumber': value.serialNumber,
'EnableAlbumArtInDidl': value.enableAlbumArtInDidl,
'EnableSingleAlbumArtLimit': value.enableSingleAlbumArtLimit,
'EnableSingleSubtitleLimit': value.enableSingleSubtitleLimit,
'SupportedMediaTypes': value.supportedMediaTypes,
'UserId': value.userId,
'AlbumArtPn': value.albumArtPn,
'MaxAlbumArtWidth': value.maxAlbumArtWidth,
'MaxAlbumArtHeight': value.maxAlbumArtHeight,
'MaxIconWidth': value.maxIconWidth,
'MaxIconHeight': value.maxIconHeight,
'MaxStreamingBitrate': value.maxStreamingBitrate,
'MaxStaticBitrate': value.maxStaticBitrate,
'MusicStreamingTranscodingBitrate': value.musicStreamingTranscodingBitrate,
'MaxStaticMusicBitrate': value.maxStaticMusicBitrate,
'SonyAggregationFlags': value.sonyAggregationFlags,
'ProtocolInfo': value.protocolInfo,
'TimelineOffsetSeconds': value.timelineOffsetSeconds,
'RequiresPlainVideoItems': value.requiresPlainVideoItems,
'RequiresPlainFolders': value.requiresPlainFolders,
'EnableMSMediaReceiverRegistrar': value.enableMSMediaReceiverRegistrar,
'IgnoreTranscodeByteRangeRequests': value.ignoreTranscodeByteRangeRequests,
'XmlRootAttributes': value.xmlRootAttributes === undefined ? undefined : ((value.xmlRootAttributes as Array<any>).map(XmlAttributeToJSON)),
'DirectPlayProfiles': value.directPlayProfiles === undefined ? undefined : ((value.directPlayProfiles as Array<any>).map(DirectPlayProfileToJSON)),
'TranscodingProfiles': value.transcodingProfiles === undefined ? undefined : ((value.transcodingProfiles as Array<any>).map(TranscodingProfileToJSON)),
'ContainerProfiles': value.containerProfiles === undefined ? undefined : ((value.containerProfiles as Array<any>).map(ContainerProfileToJSON)),
'CodecProfiles': value.codecProfiles === undefined ? undefined : ((value.codecProfiles as Array<any>).map(CodecProfileToJSON)),
'ResponseProfiles': value.responseProfiles === undefined ? undefined : ((value.responseProfiles as Array<any>).map(ResponseProfileToJSON)),
'SubtitleProfiles': value.subtitleProfiles === undefined ? undefined : ((value.subtitleProfiles as Array<any>).map(SubtitleProfileToJSON)),
};
}