/* 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 { AllThemeMediaResult, BaseItemDto, BaseItemDtoQueryResult, ItemCounts, ItemFields, LibraryOptionsResultDto, PostUpdatedMediaRequest, ProblemDetails, ThemeMediaResult, } from '../models'; import { AllThemeMediaResultFromJSON, AllThemeMediaResultToJSON, BaseItemDtoFromJSON, BaseItemDtoToJSON, BaseItemDtoQueryResultFromJSON, BaseItemDtoQueryResultToJSON, ItemCountsFromJSON, ItemCountsToJSON, ItemFieldsFromJSON, ItemFieldsToJSON, LibraryOptionsResultDtoFromJSON, LibraryOptionsResultDtoToJSON, PostUpdatedMediaRequestFromJSON, PostUpdatedMediaRequestToJSON, ProblemDetailsFromJSON, ProblemDetailsToJSON, ThemeMediaResultFromJSON, ThemeMediaResultToJSON, } from '../models'; export interface DeleteItemRequest { itemId: string; } export interface DeleteItemsRequest { ids?: Array; } export interface GetAncestorsRequest { itemId: string; userId?: string; } export interface GetCriticReviewsRequest { itemId: string; } export interface GetDownloadRequest { itemId: string; } export interface GetFileRequest { itemId: string; } export interface GetItemCountsRequest { userId?: string; isFavorite?: boolean; } export interface GetLibraryOptionsInfoRequest { libraryContentType?: string; isNewLibrary?: boolean; } export interface GetMediaFoldersRequest { isHidden?: boolean; } export interface GetSimilarAlbumsRequest { itemId: string; excludeArtistIds?: Array; userId?: string; limit?: number; fields?: Array; } export interface GetSimilarArtistsRequest { itemId: string; excludeArtistIds?: Array; userId?: string; limit?: number; fields?: Array; } export interface GetSimilarItemsRequest { itemId: string; excludeArtistIds?: Array; userId?: string; limit?: number; fields?: Array; } export interface GetSimilarMoviesRequest { itemId: string; excludeArtistIds?: Array; userId?: string; limit?: number; fields?: Array; } export interface GetSimilarShowsRequest { itemId: string; excludeArtistIds?: Array; userId?: string; limit?: number; fields?: Array; } export interface GetSimilarTrailersRequest { itemId: string; excludeArtistIds?: Array; userId?: string; limit?: number; fields?: Array; } export interface GetThemeMediaRequest { itemId: string; userId?: string; inheritFromParent?: boolean; } export interface GetThemeSongsRequest { itemId: string; userId?: string; inheritFromParent?: boolean; } export interface GetThemeVideosRequest { itemId: string; userId?: string; inheritFromParent?: boolean; } export interface PostAddedMoviesRequest { tmdbId?: string; imdbId?: string; } export interface PostAddedSeriesRequest { tvdbId?: string; } export interface PostUpdatedMediaOperationRequest { postUpdatedMediaRequest: PostUpdatedMediaRequest; } export interface PostUpdatedMoviesRequest { tmdbId?: string; imdbId?: string; } export interface PostUpdatedSeriesRequest { tvdbId?: string; } /** * */ export class LibraryApi extends runtime.BaseAPI { /** * Deletes an item from the library and filesystem. */ async deleteItemRaw(requestParameters: DeleteItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling deleteItem.'); } const queryParameters: any = {}; 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/{itemId}`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Deletes an item from the library and filesystem. */ async deleteItem(requestParameters: DeleteItemRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteItemRaw(requestParameters, initOverrides); } /** * Deletes items from the library and filesystem. */ async deleteItemsRaw(requestParameters: DeleteItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.ids) { queryParameters['ids'] = requestParameters.ids; } 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`, method: 'DELETE', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Deletes items from the library and filesystem. */ async deleteItems(requestParameters: DeleteItemsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.deleteItemsRaw(requestParameters, initOverrides); } /** * Gets all parents of an item. */ async getAncestorsRaw(requestParameters: GetAncestorsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getAncestors.'); } const queryParameters: any = {}; if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } 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/{itemId}/Ancestors`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(BaseItemDtoFromJSON)); } /** * Gets all parents of an item. */ async getAncestors(requestParameters: GetAncestorsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.getAncestorsRaw(requestParameters, initOverrides); return await response.value(); } /** * Gets critic review for an item. */ async getCriticReviewsRaw(requestParameters: GetCriticReviewsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getCriticReviews.'); } const queryParameters: any = {}; 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/{itemId}/CriticReviews`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Gets critic review for an item. */ async getCriticReviews(requestParameters: GetCriticReviewsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getCriticReviewsRaw(requestParameters, initOverrides); return await response.value(); } /** * Downloads item media. */ async getDownloadRaw(requestParameters: GetDownloadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getDownload.'); } const queryParameters: any = {}; 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/{itemId}/Download`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.BlobApiResponse(response); } /** * Downloads item media. */ async getDownload(requestParameters: GetDownloadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getDownloadRaw(requestParameters, initOverrides); return await response.value(); } /** * Get the original file of an item. */ async getFileRaw(requestParameters: GetFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getFile.'); } const queryParameters: any = {}; 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/{itemId}/File`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.BlobApiResponse(response); } /** * Get the original file of an item. */ async getFile(requestParameters: GetFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getFileRaw(requestParameters, initOverrides); return await response.value(); } /** * Get item counts. */ async getItemCountsRaw(requestParameters: GetItemCountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.isFavorite !== undefined) { queryParameters['isFavorite'] = requestParameters.isFavorite; } 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/Counts`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ItemCountsFromJSON(jsonValue)); } /** * Get item counts. */ async getItemCounts(requestParameters: GetItemCountsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getItemCountsRaw(requestParameters, initOverrides); return await response.value(); } /** * Gets the library options info. */ async getLibraryOptionsInfoRaw(requestParameters: GetLibraryOptionsInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.libraryContentType !== undefined) { queryParameters['libraryContentType'] = requestParameters.libraryContentType; } if (requestParameters.isNewLibrary !== undefined) { queryParameters['isNewLibrary'] = requestParameters.isNewLibrary; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Libraries/AvailableOptions`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => LibraryOptionsResultDtoFromJSON(jsonValue)); } /** * Gets the library options info. */ async getLibraryOptionsInfo(requestParameters: GetLibraryOptionsInfoRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getLibraryOptionsInfoRaw(requestParameters, initOverrides); return await response.value(); } /** * Gets all user media folders. */ async getMediaFoldersRaw(requestParameters: GetMediaFoldersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.isHidden !== undefined) { queryParameters['isHidden'] = requestParameters.isHidden; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Library/MediaFolders`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Gets all user media folders. */ async getMediaFolders(requestParameters: GetMediaFoldersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getMediaFoldersRaw(requestParameters, initOverrides); return await response.value(); } /** * Gets a list of physical paths from virtual folders. */ async getPhysicalPathsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Library/PhysicalPaths`, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response); } /** * Gets a list of physical paths from virtual folders. */ async getPhysicalPaths(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const response = await this.getPhysicalPathsRaw(initOverrides); return await response.value(); } /** * Gets similar items. */ async getSimilarAlbumsRaw(requestParameters: GetSimilarAlbumsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getSimilarAlbums.'); } const queryParameters: any = {}; if (requestParameters.excludeArtistIds) { queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; } if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.fields) { queryParameters['fields'] = requestParameters.fields; } 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/{itemId}/Similar`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Gets similar items. */ async getSimilarAlbums(requestParameters: GetSimilarAlbumsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getSimilarAlbumsRaw(requestParameters, initOverrides); return await response.value(); } /** * Gets similar items. */ async getSimilarArtistsRaw(requestParameters: GetSimilarArtistsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getSimilarArtists.'); } const queryParameters: any = {}; if (requestParameters.excludeArtistIds) { queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; } if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.fields) { queryParameters['fields'] = requestParameters.fields; } 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/{itemId}/Similar`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Gets similar items. */ async getSimilarArtists(requestParameters: GetSimilarArtistsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getSimilarArtistsRaw(requestParameters, initOverrides); return await response.value(); } /** * Gets similar items. */ async getSimilarItemsRaw(requestParameters: GetSimilarItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getSimilarItems.'); } const queryParameters: any = {}; if (requestParameters.excludeArtistIds) { queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; } if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.fields) { queryParameters['fields'] = requestParameters.fields; } 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/{itemId}/Similar`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Gets similar items. */ async getSimilarItems(requestParameters: GetSimilarItemsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getSimilarItemsRaw(requestParameters, initOverrides); return await response.value(); } /** * Gets similar items. */ async getSimilarMoviesRaw(requestParameters: GetSimilarMoviesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getSimilarMovies.'); } const queryParameters: any = {}; if (requestParameters.excludeArtistIds) { queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; } if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.fields) { queryParameters['fields'] = requestParameters.fields; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Movies/{itemId}/Similar`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Gets similar items. */ async getSimilarMovies(requestParameters: GetSimilarMoviesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getSimilarMoviesRaw(requestParameters, initOverrides); return await response.value(); } /** * Gets similar items. */ async getSimilarShowsRaw(requestParameters: GetSimilarShowsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getSimilarShows.'); } const queryParameters: any = {}; if (requestParameters.excludeArtistIds) { queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; } if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.fields) { queryParameters['fields'] = requestParameters.fields; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Shows/{itemId}/Similar`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Gets similar items. */ async getSimilarShows(requestParameters: GetSimilarShowsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getSimilarShowsRaw(requestParameters, initOverrides); return await response.value(); } /** * Gets similar items. */ async getSimilarTrailersRaw(requestParameters: GetSimilarTrailersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getSimilarTrailers.'); } const queryParameters: any = {}; if (requestParameters.excludeArtistIds) { queryParameters['excludeArtistIds'] = requestParameters.excludeArtistIds; } if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.limit !== undefined) { queryParameters['limit'] = requestParameters.limit; } if (requestParameters.fields) { queryParameters['fields'] = requestParameters.fields; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Trailers/{itemId}/Similar`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BaseItemDtoQueryResultFromJSON(jsonValue)); } /** * Gets similar items. */ async getSimilarTrailers(requestParameters: GetSimilarTrailersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getSimilarTrailersRaw(requestParameters, initOverrides); return await response.value(); } /** * Get theme songs and videos for an item. */ async getThemeMediaRaw(requestParameters: GetThemeMediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getThemeMedia.'); } const queryParameters: any = {}; if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.inheritFromParent !== undefined) { queryParameters['inheritFromParent'] = requestParameters.inheritFromParent; } 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/{itemId}/ThemeMedia`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => AllThemeMediaResultFromJSON(jsonValue)); } /** * Get theme songs and videos for an item. */ async getThemeMedia(requestParameters: GetThemeMediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getThemeMediaRaw(requestParameters, initOverrides); return await response.value(); } /** * Get theme songs for an item. */ async getThemeSongsRaw(requestParameters: GetThemeSongsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getThemeSongs.'); } const queryParameters: any = {}; if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.inheritFromParent !== undefined) { queryParameters['inheritFromParent'] = requestParameters.inheritFromParent; } 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/{itemId}/ThemeSongs`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ThemeMediaResultFromJSON(jsonValue)); } /** * Get theme songs for an item. */ async getThemeSongs(requestParameters: GetThemeSongsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getThemeSongsRaw(requestParameters, initOverrides); return await response.value(); } /** * Get theme videos for an item. */ async getThemeVideosRaw(requestParameters: GetThemeVideosRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.itemId === null || requestParameters.itemId === undefined) { throw new runtime.RequiredError('itemId','Required parameter requestParameters.itemId was null or undefined when calling getThemeVideos.'); } const queryParameters: any = {}; if (requestParameters.userId !== undefined) { queryParameters['userId'] = requestParameters.userId; } if (requestParameters.inheritFromParent !== undefined) { queryParameters['inheritFromParent'] = requestParameters.inheritFromParent; } 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/{itemId}/ThemeVideos`.replace(`{${"itemId"}}`, encodeURIComponent(String(requestParameters.itemId))), method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => ThemeMediaResultFromJSON(jsonValue)); } /** * Get theme videos for an item. */ async getThemeVideos(requestParameters: GetThemeVideosRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getThemeVideosRaw(requestParameters, initOverrides); return await response.value(); } /** * Reports that new movies have been added by an external source. */ async postAddedMoviesRaw(requestParameters: PostAddedMoviesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.tmdbId !== undefined) { queryParameters['tmdbId'] = requestParameters.tmdbId; } if (requestParameters.imdbId !== undefined) { queryParameters['imdbId'] = requestParameters.imdbId; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Library/Movies/Added`, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Reports that new movies have been added by an external source. */ async postAddedMovies(requestParameters: PostAddedMoviesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.postAddedMoviesRaw(requestParameters, initOverrides); } /** * Reports that new episodes of a series have been added by an external source. */ async postAddedSeriesRaw(requestParameters: PostAddedSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.tvdbId !== undefined) { queryParameters['tvdbId'] = requestParameters.tvdbId; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Library/Series/Added`, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Reports that new episodes of a series have been added by an external source. */ async postAddedSeries(requestParameters: PostAddedSeriesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.postAddedSeriesRaw(requestParameters, initOverrides); } /** * Reports that new movies have been added by an external source. */ async postUpdatedMediaRaw(requestParameters: PostUpdatedMediaOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters.postUpdatedMediaRequest === null || requestParameters.postUpdatedMediaRequest === undefined) { throw new runtime.RequiredError('postUpdatedMediaRequest','Required parameter requestParameters.postUpdatedMediaRequest was null or undefined when calling postUpdatedMedia.'); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Library/Media/Updated`, method: 'POST', headers: headerParameters, query: queryParameters, body: PostUpdatedMediaRequestToJSON(requestParameters.postUpdatedMediaRequest), }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Reports that new movies have been added by an external source. */ async postUpdatedMedia(requestParameters: PostUpdatedMediaOperationRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.postUpdatedMediaRaw(requestParameters, initOverrides); } /** * Reports that new movies have been added by an external source. */ async postUpdatedMoviesRaw(requestParameters: PostUpdatedMoviesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.tmdbId !== undefined) { queryParameters['tmdbId'] = requestParameters.tmdbId; } if (requestParameters.imdbId !== undefined) { queryParameters['imdbId'] = requestParameters.imdbId; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Library/Movies/Updated`, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Reports that new movies have been added by an external source. */ async postUpdatedMovies(requestParameters: PostUpdatedMoviesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.postUpdatedMoviesRaw(requestParameters, initOverrides); } /** * Reports that new episodes of a series have been added by an external source. */ async postUpdatedSeriesRaw(requestParameters: PostUpdatedSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; if (requestParameters.tvdbId !== undefined) { queryParameters['tvdbId'] = requestParameters.tvdbId; } const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Library/Series/Updated`, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Reports that new episodes of a series have been added by an external source. */ async postUpdatedSeries(requestParameters: PostUpdatedSeriesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.postUpdatedSeriesRaw(requestParameters, initOverrides); } /** * Starts a library scan. */ async refreshLibraryRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; if (this.configuration && this.configuration.apiKey) { headerParameters["Authorization"] = this.configuration.apiKey("Authorization"); // CustomAuthentication authentication } const response = await this.request({ path: `/Library/Refresh`, method: 'POST', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.VoidApiResponse(response); } /** * Starts a library scan. */ async refreshLibrary(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { await this.refreshLibraryRaw(initOverrides); } }