unifi-client
Version:
NodeJs client for Unifi products (https://www.ui.com/)
69 lines (68 loc) • 2.52 kB
TypeScript
/// <reference types="node" />
import { UnifiAuth } from './UnifiAuth';
import { AxiosInstance, AxiosRequestConfig, RawAxiosRequestConfig } from 'axios';
import { IController } from './IController';
import { ObjectWithPrivateValues } from './commons/ObjectWithPrivateValues';
import { UnifiWebsockets } from './WebSockets';
import { EventEmitter } from 'events';
import { Site, Sites } from './Sites';
import { IUser } from './User';
import { IBuildUrlParams } from './interfaces';
import { DeviceFingerPrints } from './Clients';
import { IControllerProps } from './IControllerProps';
export declare class Controller extends ObjectWithPrivateValues implements IController {
/**
* store array to close them all if needed, or loop on registered sockets
* only available on unifiOS
*/
UnifiWebSockets: Array<UnifiWebsockets>;
/**
* global event emitter, to listen on all events
*/
globalWS: EventEmitter;
/**
* listen on super site
*/
superWS: UnifiWebsockets;
strictSSL: boolean;
get sites(): Sites;
readonly controllerInstance: AxiosInstance;
auth: UnifiAuth;
private readonly _sites;
unifiOs: boolean;
version?: string;
private _logged;
get logged(): boolean;
private set logged(value);
createInstance(siteName: string, config?: RawAxiosRequestConfig): AxiosInstance;
private _createInstance;
protected get props(): IControllerProps;
protected set props(value: IControllerProps);
get ws(): UnifiWebsockets;
set ws(value: UnifiWebsockets);
constructor(props: IControllerProps);
private needLoggedIn;
getSites(): Promise<Array<Site>>;
/**
*
* @param token2FA - 2FA token, will disable re-login
*/
login(token2FA?: string): Promise<IUser>;
logout(): Promise<void>;
private addAxiosDebugInterceptors;
buildUrl(pConfig: IBuildUrlParams, websockets?: boolean): AxiosRequestConfig;
private addAxiosProxyInterceptors;
private addAxiosPlugins;
getInstance(): AxiosInstance;
on(eventName: string, cb: (...args: Array<unknown>) => unknown): this;
private _initWebSockets;
initWebSockets(): Promise<void>;
/**
*
* @param folder - not sure about it, but some number can return different results
* seems to return https://static.ubnt.com/fingerprint/:folder/devicelist.json
* tested with 0 1 2
*/
getDevicesFingerPrints(folder?: 0 | 1 | 2 | number): Promise<DeviceFingerPrints>;
reboot(): Promise<void>;
}