UNPKG

unifi-client

Version:

NodeJs client for Unifi products (https://www.ui.com/)

69 lines (68 loc) 2.52 kB
/// <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>; }