UNPKG

javascript-ampache

Version:
191 lines (190 loc) 6.64 kB
import { UserResponse, UserSummary, ActivityResponse } from "./types"; import { Base, BinaryBoolean, ExtendedPagination, Success } from "../base"; export declare class Users extends Base { /** * Get ids and usernames for your site * @remarks MINIMUM_API_VERSION=5.0.0 * @see {@link https://ampache.org/api/api-json-methods#users} */ users(): Promise<{ user: UserSummary[]; }>; /** * This get a user's public information (or current user if username is omitted) * @remarks MINIMUM_API_VERSION=380001 * @param [params.username] UID to find * @see {@link https://ampache.org/api/api-json-methods#user} */ user(params?: { username?: string; }): Promise<UserResponse>; /** * Create a new user * ACCESS REQUIRED: 100 (Admin) * @remarks MINIMUM_API_VERSION=400001 * @param params.username Username * @param params.password SHA256 hashed password * @param params.email Email * @param [params.fullname] Full Name * @param [params.disable] 0, 1 * @param [params.catalog_filter_group] Catalog filter group, default = 0 * @see {@link https://ampache.org/api/api-json-methods#user_create} */ userCreate(params: { username: string; password: string; email: string; fullname?: string; disable?: BinaryBoolean; catalog_filter_group?: number; }): Promise<Success>; /** * Register as a new user if allowed. * @remarks MINIMUM_API_VERSION=6.0.0 * @param params.username Username * @param params.password SHA256 hashed password * @param params.email Email * @param [params.fullname] Full Name * @see {@link https://ampache.org/api/api-json-methods/#register} */ register(params: { username: string; password: string; email: string; fullname?: string; }): Promise<Success>; /** * Update an existing user * ACCESS REQUIRED: 100 (Admin) * @remarks MINIMUM_API_VERSION=400001 * @param params.username Username * @param [params.password] Password * @param [params.email] Email * @param [params.fullname] Full Name * @param [params.website] Website * @param [params.state] State * @param [params.city] City * @param [params.disable] 0, 1 * @param [params.maxbitrate] Max bitrate for transcoding * @see {@link https://ampache.org/api/api-json-methods#user_update} * @deprecated Being removed in 7.0.0. Use `user_edit` instead. */ userUpdate(params: { username: string; password?: string; email?: string; fullname?: string; website?: string; state?: string; city?: string; disable?: BinaryBoolean; maxbitrate?: string; }): Promise<Success>; /** * Update an existing user * ACCESS REQUIRED: 100 (Admin) * @remarks MINIMUM_API_VERSION=6.0.0 * @param params.username Username * @param [params.password] Password * @param [params.email] Email * @param [params.fullname] Full Name * @param [params.website] Website * @param [params.state] State * @param [params.city] City * @param [params.disable] 0, 1 * @param [params.maxbitrate] Max bitrate for transcoding * @param [params.group] Catalog filter group, default = 0 * @param [params.fullname_public] show fullname in public display * @param [params.reset_apikey] reset user Api Key * @param [params.reset_streamtoken] reset user Stream Token * @param [params.clear_stats] reset all stats for this user * @see {@link https://ampache.org/api/api-json-methods#user_edit} */ userEdit(params: { username: string; password?: string; email?: string; fullname?: string; website?: string; state?: string; city?: string; maxbitrate?: string; group?: number; disable?: BinaryBoolean; fullname_public?: BinaryBoolean; reset_apikey?: BinaryBoolean; reset_streamtoken?: BinaryBoolean; clear_stats?: BinaryBoolean; }): Promise<Success>; /** * Delete an existing user. * ACCESS REQUIRED: 100 (Admin) * @remarks MINIMUM_API_VERSION=400001 * @param params.filter UID of user to delete * @see {@link https://ampache.org/api/api-json-methods#user_delete} */ userDelete(params: { filter: string; }): Promise<Success>; /** * This gets the followers for the requested username * @remarks MINIMUM_API_VERSION=380001 * @param params.username UID to find * @param [params.offset] * @param [params.limit] * @param [params.cond] * @param [params.sort] * @see {@link https://ampache.org/api/api-json-methods#followers} */ followers(params: { username: string; } & ExtendedPagination): Promise<{ user: UserSummary[]; }>; /** * Get a list of people that this user follows * @remarks MINIMUM_API_VERSION=380001 * @see {@link https://ampache.org/api/api-json-methods#following} */ following(params: { username: string; }): Promise<{ user: UserSummary[]; }>; /** * This will follow/unfollow a user * @param params.username Username string to find * @see {@link https://ampache.org/api/api-json-methods#toggle_follow} */ toggleFollow(params: { username: string; }): Promise<Success>; /** * This get a user timeline * @remarks MINIMUM_API_VERSION=380001 * @param params.username Username to find * @param [params.limit] Max results to return * @param [params.since] UNIXTIME * @see {@link https://ampache.org/api/api-json-methods#timeline} */ timeline(params: { username: string; limit?: number; since?: number; }): Promise<{ activity: ActivityResponse[]; }>; /** * This get current user friends timeline * @remarks MINIMUM_API_VERSION=380001 * @param [params.limit] Max results to return * @param [params.since] UNIXTIME * @see {@link https://ampache.org/api/api-json-methods#friends_timeline} */ friendsTimeline(params?: { limit?: number; since?: number; }): Promise<{ activity: ActivityResponse[]; }>; }