/* 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} * @memberof ClientCapabilitiesDto */ playableMediaTypes?: Array; /** * Gets or sets the list of supported commands. * @type {Array} * @memberof ClientCapabilitiesDto */ supportedCommands?: Array; /** * 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).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).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, }; }