UNPKG

javascript-ampache

Version:
88 lines (87 loc) 3.66 kB
import { CatalogResponse, CatalogsResponse } from "./types"; import { Base, ExtendedPagination, Success, UID } from "../base"; export declare class Catalogs extends Base { /** * This searches the catalogs and returns... catalogs * @remarks MINIMUM_API_VERSION=420000 * @param [params.filter] Catalog type * @param [params.offset] * @param [params.limit] * @param [params.cond] * @param [params.sort] * @see {@link https://ampache.org/api/api-json-methods#catalogs} */ catalogs(params?: { filter?: "music" | "clip" | "tvshow" | "movie" | "personal_video" | "podcast"; } & ExtendedPagination): Promise<CatalogsResponse>; /** * Return catalog by UID * @remarks MINIMUM_API_VERSION=420000 * @param params.filter UID to find * @see {@link https://ampache.org/api/api-json-methods#catalog} */ catalog(params: { filter: UID; }): Promise<CatalogResponse>; /** * Kick off a catalog update or clean for the selected catalog * ACCESS REQUIRED: 75 (Catalog Manager) * @remarks MINIMUM_API_VERSION=400001 * @param params.task add_to_catalog, clean_catalog * @param params.catalog UID of catalog * @see {@link https://ampache.org/api/api-json-methods#catalog_action} */ catalogAction(params: { task: "add_to_catalog" | "clean_catalog"; catalog: UID; }): Promise<Success>; /** * Perform actions on local catalog files. Single file versions of catalog add, clean, verify and remove (delete). * Make sure you remember to urlencode those file names! * ACCESS REQUIRED: 50 (Content Manager) * @remarks MINIMUM_API_VERSION=420000 * @param params.file FULL path to local file * @param params.task add, clean, verify, remove, (can include comma-separated values) * @param params.catalog UID of catalog * @see {@link https://ampache.org/api/api-json-methods#catalog_file} */ catalogFile(params: { file: string; task: string; catalog: UID; }): Promise<Success>; /** * Create a new catalog. * ACCESS REQUIRED: 75 (Catalog Manager) * @remarks MINIMUM_API_VERSION=6.0.0 * @param params.name Name for the catalog * @param params.path URL or folder path for your catalog * @param [params.type] Default: 'local' * @param [params.media_type] Default: 'music' * @param [params.file_pattern] Pattern used identify tags from the file name. Default: '%T - %t' * @param [params.folder_pattern] Pattern used identify tags from the folder name. Default: '%a/%A' * @param [params.username] login to remote catalog * @param [params.password] password to remote catalog * @see {@link https://ampache.org/api/api-json-methods#catalog_add} */ catalogAdd(params: { name: string; path: string; type?: "local" | "beets" | "remote" | "subsonic" | "seafile" | "beetsremote"; media_type?: "music" | "podcast" | "clip" | "tvshow" | "movie" | "personal_video"; file_pattern?: string; folder_pattern?: string; username?: string; password?: string; }): Promise<CatalogResponse>; /** * Delete an existing catalog. (if it exists) * ACCESS REQUIRED: 75 (Catalog Manager) * @remarks MINIMUM_API_VERSION=6.0.0 * @param params.filter ID of the catalog * @see {@link https://ampache.org/api/api-json-methods#catalog_delete} */ catalogDelete(params: { filter: UID; }): Promise<Success>; }