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

151 lines
5.4 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 { ClientCapabilitiesDtoDeviceProfile } from './ClientCapabilitiesDtoDeviceProfile';
import {
ClientCapabilitiesDtoDeviceProfileFromJSON,
ClientCapabilitiesDtoDeviceProfileFromJSONTyped,
ClientCapabilitiesDtoDeviceProfileToJSON,
} from './ClientCapabilitiesDtoDeviceProfile';
import type { GeneralCommandType } from './GeneralCommandType';
import {
GeneralCommandTypeFromJSON,
GeneralCommandTypeFromJSONTyped,
GeneralCommandTypeToJSON,
} from './GeneralCommandType';
/**
* Client capabilities dto.
* @export
* @interface ClientCapabilitiesDto
*/
export interface ClientCapabilitiesDto {
/**
* Gets or sets the list of playable media types.
* @type {Array<string>}
* @memberof ClientCapabilitiesDto
*/
playableMediaTypes?: Array<string>;
/**
* Gets or sets the list of supported commands.
* @type {Array<GeneralCommandType>}
* @memberof ClientCapabilitiesDto
*/
supportedCommands?: Array<GeneralCommandType>;
/**
* Gets or sets a value indicating whether session supports media control.
* @type {boolean}
* @memberof ClientCapabilitiesDto
*/
supportsMediaControl?: boolean;
/**
* Gets or sets a value indicating whether session supports content uploading.
* @type {boolean}
* @memberof ClientCapabilitiesDto
*/
supportsContentUploading?: boolean;
/**
* Gets or sets the message callback url.
* @type {string}
* @memberof ClientCapabilitiesDto
*/
messageCallbackUrl?: string | null;
/**
* Gets or sets a value indicating whether session supports a persistent identifier.
* @type {boolean}
* @memberof ClientCapabilitiesDto
*/
supportsPersistentIdentifier?: boolean;
/**
* Gets or sets a value indicating whether session supports sync.
* @type {boolean}
* @memberof ClientCapabilitiesDto
*/
supportsSync?: boolean;
/**
*
* @type {ClientCapabilitiesDtoDeviceProfile}
* @memberof ClientCapabilitiesDto
*/
deviceProfile?: ClientCapabilitiesDtoDeviceProfile | null;
/**
* Gets or sets the app store url.
* @type {string}
* @memberof ClientCapabilitiesDto
*/
appStoreUrl?: string | null;
/**
* Gets or sets the icon url.
* @type {string}
* @memberof ClientCapabilitiesDto
*/
iconUrl?: string | null;
}
/**
* Check if a given object implements the ClientCapabilitiesDto interface.
*/
export function instanceOfClientCapabilitiesDto(value: object): boolean {
let isInstance = true;
return isInstance;
}
export function ClientCapabilitiesDtoFromJSON(json: any): ClientCapabilitiesDto {
return ClientCapabilitiesDtoFromJSONTyped(json, false);
}
export function ClientCapabilitiesDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClientCapabilitiesDto {
if ((json === undefined) || (json === null)) {
return json;
}
return {
'playableMediaTypes': !exists(json, 'PlayableMediaTypes') ? undefined : json['PlayableMediaTypes'],
'supportedCommands': !exists(json, 'SupportedCommands') ? undefined : ((json['SupportedCommands'] as Array<any>).map(GeneralCommandTypeFromJSON)),
'supportsMediaControl': !exists(json, 'SupportsMediaControl') ? undefined : json['SupportsMediaControl'],
'supportsContentUploading': !exists(json, 'SupportsContentUploading') ? undefined : json['SupportsContentUploading'],
'messageCallbackUrl': !exists(json, 'MessageCallbackUrl') ? undefined : json['MessageCallbackUrl'],
'supportsPersistentIdentifier': !exists(json, 'SupportsPersistentIdentifier') ? undefined : json['SupportsPersistentIdentifier'],
'supportsSync': !exists(json, 'SupportsSync') ? undefined : json['SupportsSync'],
'deviceProfile': !exists(json, 'DeviceProfile') ? undefined : ClientCapabilitiesDtoDeviceProfileFromJSON(json['DeviceProfile']),
'appStoreUrl': !exists(json, 'AppStoreUrl') ? undefined : json['AppStoreUrl'],
'iconUrl': !exists(json, 'IconUrl') ? undefined : json['IconUrl'],
};
}
export function ClientCapabilitiesDtoToJSON(value?: ClientCapabilitiesDto | null): any {
if (value === undefined) {
return undefined;
}
if (value === null) {
return null;
}
return {
'PlayableMediaTypes': value.playableMediaTypes,
'SupportedCommands': value.supportedCommands === undefined ? undefined : ((value.supportedCommands as Array<any>).map(GeneralCommandTypeToJSON)),
'SupportsMediaControl': value.supportsMediaControl,
'SupportsContentUploading': value.supportsContentUploading,
'MessageCallbackUrl': value.messageCallbackUrl,
'SupportsPersistentIdentifier': value.supportsPersistentIdentifier,
'SupportsSync': value.supportsSync,
'DeviceProfile': ClientCapabilitiesDtoDeviceProfileToJSON(value.deviceProfile),
'AppStoreUrl': value.appStoreUrl,
'IconUrl': value.iconUrl,
};
}