javascript-ampache
Version:
A JS library for the Ampache API
88 lines (87 loc) • 3.66 kB
TypeScript
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>;
}