/* 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 * as runtime from '../runtime'; import type { BaseItemDtoQueryResult, ImageType, ItemFields, } from '../models'; import { BaseItemDtoQueryResultFromJSON, BaseItemDtoQueryResultToJSON, ImageTypeFromJSON, ImageTypeToJSON, ItemFieldsFromJSON, ItemFieldsToJSON, } from '../models'; export interface GetInstantMixFromAlbumRequest { id: string; userId?: string; limit?: number; fields?: Array; enableImages?: boolean; enableUserData?: boolean; imageTypeLimit?: number; enableImageTypes?: Array; } export interface GetInstantMixFromArtistsRequest { id: string; userId?: string; limit?: number; fields?: Array; enableImages?: boolean; enableUserData?: boolean; imageTypeLimit?: number; enableImageTypes?: Array; } export interface GetInstantMixFromArtists2Request { id: string; userId?: string; limit?: number; fields?: Array; enableImages?: boolean; enableUserData?: boolean; imageTypeLimit?: number; enableImageTypes?: Array; } export interface GetInstantMixFromItemRequest { id: string; userId?: string; limit?: number; fields?: Array; enableImages?: boolean; enableUserData?: boolean; imageTypeLimit?: number; enableImageTypes?: Array; } export interface GetInstantMixFromMusicGenreByIdRequest { id: string; userId?: string; limit?: number; fields?: Array; enableImages?: boolean; enableUserData?: boolean; imageTypeLimit?: number; enableImageTypes?: Array; } export interface GetInstantMixFromMusicGenreByNameRequest { name: string; userId?: string; limit?: number; fields?: Array; enableImages?: boolean; enableUserData?: boolean; imageTypeLimit?: number; enableImageTypes?: Array; } export interface GetInstantMixFromPlaylistRequest { id: string; userId?: string; limit?: number; fields?: Array; enableImages?: boolean; enableUserData?: boolean; imageTypeLimit?: number; enableImageTypes?: Array; } export interface GetInstantMixFromSongRequest { id: string; userId?: string; limit?: number; fields?: Array; enableImages?: boolean; enableUserData?: boolean; imageTypeLimit?: number; enableImageTypes?: Array; } /** * */ export class InstantMixApi extends runtime.BaseAPI { /** * Creates an instant playlist based on a given album. */ async getInstantMixFromAlbumRaw(requestParameters: GetInstantMixFromAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getInstantMixFromAlbum.'); } const queryParameters: any = {}; if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.fields) { queryParameters['fields'] = requestParameters.fields; } if (requestParameters.enableImages !== undefined) { queryParameters['enableImages'] = requestParameters.enableImages; } if (requestParameters.enableUserData !== undefined) { queryParameters['enableUserData'] = requestParameters.enableUserData; } if (requestParameters.imageTypeLimit !== undefined) { queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; } if (requestParameters.enableImageTypes) { queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Albums/{id}/InstantMix`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Creates an instant playlist based on a given album. */ async getInstantMixFromAlbum(requestParameters: GetInstantMixFromAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getInstantMixFromAlbumRaw(requestParameters, initOverrides); return await response.value(); } /** * Creates an instant playlist based on a given artist. */ async getInstantMixFromArtistsRaw(requestParameters: GetInstantMixFromArtistsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getInstantMixFromArtists.'); } const queryParameters: any = {}; if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.fields) { queryParameters['fields'] = requestParameters.fields; } if (requestParameters.enableImages !== undefined) { queryParameters['enableImages'] = requestParameters.enableImages; } if (requestParameters.enableUserData !== undefined) { queryParameters['enableUserData'] = requestParameters.enableUserData; } if (requestParameters.imageTypeLimit !== undefined) { queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; } if (requestParameters.enableImageTypes) { queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Artists/{id}/InstantMix`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Creates an instant playlist based on a given artist. */ async getInstantMixFromArtists(requestParameters: GetInstantMixFromArtistsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getInstantMixFromArtistsRaw(requestParameters, initOverrides); return await response.value(); } /** * Creates an instant playlist based on a given artist. */ async getInstantMixFromArtists2Raw(requestParameters: GetInstantMixFromArtists2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getInstantMixFromArtists2.'); } const queryParameters: any = {}; if (requestParameters.id !== undefined) { queryParameters['id'] = requestParameters.id; } if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.fields) { queryParameters['fields'] = requestParameters.fields; } if (requestParameters.enableImages !== undefined) { queryParameters['enableImages'] = requestParameters.enableImages; } if (requestParameters.enableUserData !== undefined) { queryParameters['enableUserData'] = requestParameters.enableUserData; } if (requestParameters.imageTypeLimit !== undefined) { queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; } if (requestParameters.enableImageTypes) { queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Artists/InstantMix`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Creates an instant playlist based on a given artist. */ async getInstantMixFromArtists2(requestParameters: GetInstantMixFromArtists2Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getInstantMixFromArtists2Raw(requestParameters, initOverrides); return await response.value(); } /** * Creates an instant playlist based on a given item. */ async getInstantMixFromItemRaw(requestParameters: GetInstantMixFromItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getInstantMixFromItem.'); } const queryParameters: any = {}; if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.fields) { queryParameters['fields'] = requestParameters.fields; } if (requestParameters.enableImages !== undefined) { queryParameters['enableImages'] = requestParameters.enableImages; } if (requestParameters.enableUserData !== undefined) { queryParameters['enableUserData'] = requestParameters.enableUserData; } if (requestParameters.imageTypeLimit !== undefined) { queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; } if (requestParameters.enableImageTypes) { queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Items/{id}/InstantMix`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Creates an instant playlist based on a given item. */ async getInstantMixFromItem(requestParameters: GetInstantMixFromItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getInstantMixFromItemRaw(requestParameters, initOverrides); return await response.value(); } /** * Creates an instant playlist based on a given genre. */ async getInstantMixFromMusicGenreByIdRaw(requestParameters: GetInstantMixFromMusicGenreByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getInstantMixFromMusicGenreById.'); } const queryParameters: any = {}; if (requestParameters.id !== undefined) { queryParameters['id'] = requestParameters.id; } if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.fields) { queryParameters['fields'] = requestParameters.fields; } if (requestParameters.enableImages !== undefined) { queryParameters['enableImages'] = requestParameters.enableImages; } if (requestParameters.enableUserData !== undefined) { queryParameters['enableUserData'] = requestParameters.enableUserData; } if (requestParameters.imageTypeLimit !== undefined) { queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; } if (requestParameters.enableImageTypes) { queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/MusicGenres/InstantMix`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Creates an instant playlist based on a given genre. */ async getInstantMixFromMusicGenreById(requestParameters: GetInstantMixFromMusicGenreByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getInstantMixFromMusicGenreByIdRaw(requestParameters, initOverrides); return await response.value(); } /** * Creates an instant playlist based on a given genre. */ async getInstantMixFromMusicGenreByNameRaw(requestParameters: GetInstantMixFromMusicGenreByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.name === null || requestParameters.name === undefined) { throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling getInstantMixFromMusicGenreByName.'); } const queryParameters: any = {}; if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.fields) { queryParameters['fields'] = requestParameters.fields; } if (requestParameters.enableImages !== undefined) { queryParameters['enableImages'] = requestParameters.enableImages; } if (requestParameters.enableUserData !== undefined) { queryParameters['enableUserData'] = requestParameters.enableUserData; } if (requestParameters.imageTypeLimit !== undefined) { queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; } if (requestParameters.enableImageTypes) { queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/MusicGenres/{name}/InstantMix`.replace(`{${"name"}}`, encodeURIComponent(String(requestParameters.name))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Creates an instant playlist based on a given genre. */ async getInstantMixFromMusicGenreByName(requestParameters: GetInstantMixFromMusicGenreByNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getInstantMixFromMusicGenreByNameRaw(requestParameters, initOverrides); return await response.value(); } /** * Creates an instant playlist based on a given playlist. */ async getInstantMixFromPlaylistRaw(requestParameters: GetInstantMixFromPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getInstantMixFromPlaylist.'); } const queryParameters: any = {}; if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.fields) { queryParameters['fields'] = requestParameters.fields; } if (requestParameters.enableImages !== undefined) { queryParameters['enableImages'] = requestParameters.enableImages; } if (requestParameters.enableUserData !== undefined) { queryParameters['enableUserData'] = requestParameters.enableUserData; } if (requestParameters.imageTypeLimit !== undefined) { queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; } if (requestParameters.enableImageTypes) { queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Playlists/{id}/InstantMix`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Creates an instant playlist based on a given playlist. */ async getInstantMixFromPlaylist(requestParameters: GetInstantMixFromPlaylistRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getInstantMixFromPlaylistRaw(requestParameters, initOverrides); return await response.value(); } /** * Creates an instant playlist based on a given song. */ async getInstantMixFromSongRaw(requestParameters: GetInstantMixFromSongRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.id === null || requestParameters.id === undefined) { throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getInstantMixFromSong.'); } const queryParameters: any = {}; if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.fields) { queryParameters['fields'] = requestParameters.fields; } if (requestParameters.enableImages !== undefined) { queryParameters['enableImages'] = requestParameters.enableImages; } if (requestParameters.enableUserData !== undefined) { queryParameters['enableUserData'] = requestParameters.enableUserData; } if (requestParameters.imageTypeLimit !== undefined) { queryParameters['imageTypeLimit'] = requestParameters.imageTypeLimit; } if (requestParameters.enableImageTypes) { queryParameters['enableImageTypes'] = requestParameters.enableImageTypes; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Songs/{id}/InstantMix`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Creates an instant playlist based on a given song. */ async getInstantMixFromSong(requestParameters: GetInstantMixFromSongRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getInstantMixFromSongRaw(requestParameters, initOverrides); return await response.value(); } }