@jellyfin/sdk
Version:
A TypeScript SDK for Jellyfin.
206 lines (203 loc) • 12.3 kB
JavaScript
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\'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\'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 };