@airplanegobrr/jackett-api
Version:
An api for 'Jackett' server requests
58 lines (57 loc) • 2.51 kB
TypeScript
import { IJackettSettings } from "../model/jackett-settings.model";
import { TorznabIndexerModel } from "../model/torznab-indexer.model";
import { RssResultModel } from "../model/rss-result.model";
export declare class JackettService {
private settings;
private axios;
constructor(settings: IJackettSettings);
/**
* Retrieves full supported Torznab indexers list
*
* @return {Promise<Array<TorznabIndexerModel>>} Promise of indexers fetched from Jackett
*/
getTorznabIndexers(): Promise<Array<TorznabIndexerModel>>;
/**
* Retrieves a filtered list of configured indexers on Jackett
*
* @return {Promise<Array<TorznabIndexerModel>>} Promise of configured indexers fetched from Jackett
*/
getConfiguredIndexers(): Promise<Array<TorznabIndexerModel>>;
/**
* Downloads a torrent file of given RssResultModel & saves it on given downloadFolderPath.
*
* @param rssResult The model of the desired torrent to download
* @param downloadFolderPath base dir for the file to be saved in
* @return promise of the download process
*/
downloadTorrent(rssResult: RssResultModel, downloadFolderPath: string): Promise<void>;
/**
* Fetch the latest Rss feed from a given indexer.
*
* @param indexerId Id of the indexer to fetch Rss feed from
* @return Promise<Array<RssResultModel>> Rss results from the feed of the indexer
*/
getIndexerRss(indexerId: string): Promise<Array<RssResultModel>>;
/**
* Search a query and filter results by given indexers ids.
*
* @param query The search query to submit
* @param indexersId Array of index id's to filter the results with
* @return {Promise<Array<RssResultModel>>} Promise of filtered rss results
*/
searchIndexers(query: string, indexersId: string[]): Promise<Array<RssResultModel>>;
/**
* Search a query in all indexers
*
* @param query The search query to submit
* @return {Promise<Array<RssResultModel>>} Promise of rss results from all configured indexers
*/
searchAll(query: string): Promise<Array<RssResultModel>>;
/**
* Validate connection to the Jackett server.
* Sends a request to fetch data to see how the server behaves & tries to parse it to validate the content.
*
* @return {Promise<boolean>} State of the server connectivity
*/
isValidServer(): Promise<boolean>;
}