UNPKG

@jellyfin/sdk

Version:
206 lines (203 loc) • 12.3 kB
import globalAxios from 'axios'; import { assertParamExists, DUMMY_BASE_URL, setApiKeyToObject, setSearchParams, toPathString, createRequestFunction } from '../common.js'; import { operationServerMap, BaseAPI, BASE_PATH } from '../base.js'; /* tslint:disable */ /* eslint-disable */ /** * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * Do not edit the class manually. * * Jellyfin API * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ /** * SearchApi - axios parameter creator * @export */ const SearchApiAxiosParamCreator = function (configuration) { return { /** * * @summary Gets the search hint result. * @param {string} searchTerm The search term to filter on. * @param {number} [startIndex] Optional. The record index to start at. All items with a lower index will be dropped from the results. * @param {number} [limit] Optional. The maximum number of records to return. * @param {string} [userId] Optional. Supply a user id to search within a user\&#39;s library or omit to search all. * @param {Array<BaseItemKind>} [includeItemTypes] If specified, only results with the specified item types are returned. This allows multiple, comma delimited. * @param {Array<BaseItemKind>} [excludeItemTypes] If specified, results with these item types are filtered out. This allows multiple, comma delimited. * @param {Array<MediaType>} [mediaTypes] If specified, only results with the specified media types are returned. This allows multiple, comma delimited. * @param {string} [parentId] If specified, only children of the parent are returned. * @param {boolean} [isMovie] Optional filter for movies. * @param {boolean} [isSeries] Optional filter for series. * @param {boolean} [isNews] Optional filter for news. * @param {boolean} [isKids] Optional filter for kids. * @param {boolean} [isSports] Optional filter for sports. * @param {boolean} [includePeople] Optional filter whether to include people. * @param {boolean} [includeMedia] Optional filter whether to include media. * @param {boolean} [includeGenres] Optional filter whether to include genres. * @param {boolean} [includeStudios] Optional filter whether to include studios. * @param {boolean} [includeArtists] Optional filter whether to include artists. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getSearchHints: async (searchTerm, startIndex, limit, userId, includeItemTypes, excludeItemTypes, mediaTypes, parentId, isMovie, isSeries, isNews, isKids, isSports, includePeople, includeMedia, includeGenres, includeStudios, includeArtists, options = {}) => { // verify required parameter 'searchTerm' is not null or undefined assertParamExists('getSearchHints', 'searchTerm', searchTerm); const localVarPath = `/Search/Hints`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options }; const localVarHeaderParameter = {}; const localVarQueryParameter = {}; // authentication CustomAuthentication required await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration); if (startIndex !== undefined) { localVarQueryParameter['startIndex'] = startIndex; } if (limit !== undefined) { localVarQueryParameter['limit'] = limit; } if (userId !== undefined) { localVarQueryParameter['userId'] = userId; } if (searchTerm !== undefined) { localVarQueryParameter['searchTerm'] = searchTerm; } if (includeItemTypes) { localVarQueryParameter['includeItemTypes'] = includeItemTypes; } if (excludeItemTypes) { localVarQueryParameter['excludeItemTypes'] = excludeItemTypes; } if (mediaTypes) { localVarQueryParameter['mediaTypes'] = mediaTypes; } if (parentId !== undefined) { localVarQueryParameter['parentId'] = parentId; } if (isMovie !== undefined) { localVarQueryParameter['isMovie'] = isMovie; } if (isSeries !== undefined) { localVarQueryParameter['isSeries'] = isSeries; } if (isNews !== undefined) { localVarQueryParameter['isNews'] = isNews; } if (isKids !== undefined) { localVarQueryParameter['isKids'] = isKids; } if (isSports !== undefined) { localVarQueryParameter['isSports'] = isSports; } if (includePeople !== undefined) { localVarQueryParameter['includePeople'] = includePeople; } if (includeMedia !== undefined) { localVarQueryParameter['includeMedia'] = includeMedia; } if (includeGenres !== undefined) { localVarQueryParameter['includeGenres'] = includeGenres; } if (includeStudios !== undefined) { localVarQueryParameter['includeStudios'] = includeStudios; } if (includeArtists !== undefined) { localVarQueryParameter['includeArtists'] = includeArtists; } setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = { ...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers }; return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, }; }, }; }; /** * SearchApi - functional programming interface * @export */ const SearchApiFp = function (configuration) { const localVarAxiosParamCreator = SearchApiAxiosParamCreator(configuration); return { /** * * @summary Gets the search hint result. * @param {string} searchTerm The search term to filter on. * @param {number} [startIndex] Optional. The record index to start at. All items with a lower index will be dropped from the results. * @param {number} [limit] Optional. The maximum number of records to return. * @param {string} [userId] Optional. Supply a user id to search within a user\&#39;s library or omit to search all. * @param {Array<BaseItemKind>} [includeItemTypes] If specified, only results with the specified item types are returned. This allows multiple, comma delimited. * @param {Array<BaseItemKind>} [excludeItemTypes] If specified, results with these item types are filtered out. This allows multiple, comma delimited. * @param {Array<MediaType>} [mediaTypes] If specified, only results with the specified media types are returned. This allows multiple, comma delimited. * @param {string} [parentId] If specified, only children of the parent are returned. * @param {boolean} [isMovie] Optional filter for movies. * @param {boolean} [isSeries] Optional filter for series. * @param {boolean} [isNews] Optional filter for news. * @param {boolean} [isKids] Optional filter for kids. * @param {boolean} [isSports] Optional filter for sports. * @param {boolean} [includePeople] Optional filter whether to include people. * @param {boolean} [includeMedia] Optional filter whether to include media. * @param {boolean} [includeGenres] Optional filter whether to include genres. * @param {boolean} [includeStudios] Optional filter whether to include studios. * @param {boolean} [includeArtists] Optional filter whether to include artists. * @param {*} [options] Override http request option. * @throws {RequiredError} */ async getSearchHints(searchTerm, startIndex, limit, userId, includeItemTypes, excludeItemTypes, mediaTypes, parentId, isMovie, isSeries, isNews, isKids, isSports, includePeople, includeMedia, includeGenres, includeStudios, includeArtists, options) { var _a, _b, _c; const localVarAxiosArgs = await localVarAxiosParamCreator.getSearchHints(searchTerm, startIndex, limit, userId, includeItemTypes, excludeItemTypes, mediaTypes, parentId, isMovie, isSeries, isNews, isKids, isSports, includePeople, includeMedia, includeGenres, includeStudios, includeArtists, options); const localVarOperationServerIndex = (_a = configuration === null || configuration === void 0 ? void 0 : configuration.serverIndex) !== null && _a !== void 0 ? _a : 0; const localVarOperationServerBasePath = (_c = (_b = operationServerMap['SearchApi.getSearchHints']) === null || _b === void 0 ? void 0 : _b[localVarOperationServerIndex]) === null || _c === void 0 ? void 0 : _c.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, }; }; /** * SearchApi - factory interface * @export */ const SearchApiFactory = function (configuration, basePath, axios) { const localVarFp = SearchApiFp(configuration); return { /** * * @summary Gets the search hint result. * @param {SearchApiGetSearchHintsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} */ getSearchHints(requestParameters, options) { return localVarFp.getSearchHints(requestParameters.searchTerm, requestParameters.startIndex, requestParameters.limit, requestParameters.userId, requestParameters.includeItemTypes, requestParameters.excludeItemTypes, requestParameters.mediaTypes, requestParameters.parentId, requestParameters.isMovie, requestParameters.isSeries, requestParameters.isNews, requestParameters.isKids, requestParameters.isSports, requestParameters.includePeople, requestParameters.includeMedia, requestParameters.includeGenres, requestParameters.includeStudios, requestParameters.includeArtists, options).then((request) => request(axios, basePath)); }, }; }; /** * SearchApi - object-oriented interface * @export * @class SearchApi * @extends {BaseAPI} */ class SearchApi extends BaseAPI { /** * * @summary Gets the search hint result. * @param {SearchApiGetSearchHintsRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof SearchApi */ getSearchHints(requestParameters, options) { return SearchApiFp(this.configuration).getSearchHints(requestParameters.searchTerm, requestParameters.startIndex, requestParameters.limit, requestParameters.userId, requestParameters.includeItemTypes, requestParameters.excludeItemTypes, requestParameters.mediaTypes, requestParameters.parentId, requestParameters.isMovie, requestParameters.isSeries, requestParameters.isNews, requestParameters.isKids, requestParameters.isSports, requestParameters.includePeople, requestParameters.includeMedia, requestParameters.includeGenres, requestParameters.includeStudios, requestParameters.includeArtists, options).then((request) => request(this.axios, this.basePath)); } } export { SearchApi, SearchApiAxiosParamCreator, SearchApiFactory, SearchApiFp };