/* 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 { ClientCapabilitiesDeviceProfile } from './ClientCapabilitiesDeviceProfile'; import { ClientCapabilitiesDeviceProfileFromJSON, ClientCapabilitiesDeviceProfileFromJSONTyped, ClientCapabilitiesDeviceProfileToJSON, } from './ClientCapabilitiesDeviceProfile'; import type { GeneralCommandType } from './GeneralCommandType'; import { GeneralCommandTypeFromJSON, GeneralCommandTypeFromJSONTyped, GeneralCommandTypeToJSON, } from './GeneralCommandType'; /** * * @export * @interface ClientCapabilities */ export interface ClientCapabilities { /** * * @type {Array} * @memberof ClientCapabilities */ playableMediaTypes?: Array | null; /** * * @type {Array} * @memberof ClientCapabilities */ supportedCommands?: Array | null; /** * * @type {boolean} * @memberof ClientCapabilities */ supportsMediaControl?: boolean; /** * * @type {boolean} * @memberof ClientCapabilities */ supportsContentUploading?: boolean; /** * * @type {string} * @memberof ClientCapabilities */ messageCallbackUrl?: string | null; /** * * @type {boolean} * @memberof ClientCapabilities */ supportsPersistentIdentifier?: boolean; /** * * @type {boolean} * @memberof ClientCapabilities */ supportsSync?: boolean; /** * * @type {ClientCapabilitiesDeviceProfile} * @memberof ClientCapabilities */ deviceProfile?: ClientCapabilitiesDeviceProfile | null; /** * * @type {string} * @memberof ClientCapabilities */ appStoreUrl?: string | null; /** * * @type {string} * @memberof ClientCapabilities */ iconUrl?: string | null; } /** * Check if a given object implements the ClientCapabilities interface. */ export function instanceOfClientCapabilities(value: object): boolean { let isInstance = true; return isInstance; } export function ClientCapabilitiesFromJSON(json: any): ClientCapabilities { return ClientCapabilitiesFromJSONTyped(json, false); } export function ClientCapabilitiesFromJSONTyped(json: any, ignoreDiscriminator: boolean): ClientCapabilities { if ((json === undefined) || (json === null)) { return json; } return { 'playableMediaTypes': !exists(json, 'PlayableMediaTypes') ? undefined : json['PlayableMediaTypes'], 'supportedCommands': !exists(json, 'SupportedCommands') ? undefined : (json['SupportedCommands'] === null ? null : (json['SupportedCommands'] as Array).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 : ClientCapabilitiesDeviceProfileFromJSON(json['DeviceProfile']), 'appStoreUrl': !exists(json, 'AppStoreUrl') ? undefined : json['AppStoreUrl'], 'iconUrl': !exists(json, 'IconUrl') ? undefined : json['IconUrl'], }; } export function ClientCapabilitiesToJSON(value?: ClientCapabilities | null): any { if (value === undefined) { return undefined; } if (value === null) { return null; } return { 'PlayableMediaTypes': value.playableMediaTypes, 'SupportedCommands': value.supportedCommands === undefined ? undefined : (value.supportedCommands === null ? null : (value.supportedCommands as Array).map(GeneralCommandTypeToJSON)), 'SupportsMediaControl': value.supportsMediaControl, 'SupportsContentUploading': value.supportsContentUploading, 'MessageCallbackUrl': value.messageCallbackUrl, 'SupportsPersistentIdentifier': value.supportsPersistentIdentifier, 'SupportsSync': value.supportsSync, 'DeviceProfile': ClientCapabilitiesDeviceProfileToJSON(value.deviceProfile), 'AppStoreUrl': value.appStoreUrl, 'IconUrl': value.iconUrl, }; }