91 lines
5.0 KiB
TypeScript
91 lines
5.0 KiB
TypeScript
import { TypedEmitter } from "tiny-typed-emitter";
|
|
import { TrustDevice, Cipher, EventRecordResponse, ConfirmInvite, SensorHistoryEntry, ApiResponse, HouseDetail, DeviceListResponse, StationListResponse, HouseInviteListResponse, HouseListResponse, PassportProfileResponse, User, AddUserResponse } from "./models";
|
|
import { HTTPApiEvents, Ciphers, FullDevices, Hubs, Voices, Invites, HTTPApiRequest, HTTPApiPersistentData, LoginOptions, Schedule } from "./interfaces";
|
|
import { EventFilterType, PublicKeyType, VerfyCodeTypes } from "./types";
|
|
export declare class HTTPApi extends TypedEmitter<HTTPApiEvents> {
|
|
private static apiDomainBase;
|
|
private readonly SERVER_PUBLIC_KEY;
|
|
private apiBase;
|
|
private username;
|
|
private password;
|
|
private ecdh;
|
|
private token;
|
|
private tokenExpiration;
|
|
private renewAuthTokenJob?;
|
|
private connected;
|
|
private requestEufyCloud;
|
|
private throttle;
|
|
private devices;
|
|
private hubs;
|
|
private houses;
|
|
private persistentData;
|
|
private headers;
|
|
private constructor();
|
|
static getApiBaseFromCloud(country: string): Promise<string>;
|
|
private loadLibraries;
|
|
static initialize(country: string, username: string, password: string, persistentData?: HTTPApiPersistentData): Promise<HTTPApi>;
|
|
private clearScheduleRenewAuthToken;
|
|
private scheduleRenewAuthToken;
|
|
private invalidateToken;
|
|
setPhoneModel(model: string): void;
|
|
getPhoneModel(): string;
|
|
getCountry(): string;
|
|
setLanguage(language: string): void;
|
|
getLanguage(): string;
|
|
login(options?: LoginOptions): Promise<void>;
|
|
sendVerifyCode(type?: VerfyCodeTypes): Promise<boolean>;
|
|
listTrustDevice(): Promise<Array<TrustDevice>>;
|
|
addTrustDevice(verifyCode: string): Promise<boolean>;
|
|
getStationList(): Promise<Array<StationListResponse>>;
|
|
getDeviceList(): Promise<Array<DeviceListResponse>>;
|
|
refreshHouseData(): Promise<void>;
|
|
refreshStationData(): Promise<void>;
|
|
refreshDeviceData(): Promise<void>;
|
|
refreshAllData(): Promise<void>;
|
|
request(request: HTTPApiRequest, withoutUrlPrefix?: boolean): Promise<ApiResponse>;
|
|
checkPushToken(): Promise<boolean>;
|
|
registerPushToken(token: string): Promise<boolean>;
|
|
setParameters(stationSN: string, deviceSN: string, params: {
|
|
paramType: number;
|
|
paramValue: any;
|
|
}[]): Promise<boolean>;
|
|
getCiphers(/*stationSN: string, */ cipherIDs: Array<number>, userID: string): Promise<Ciphers>;
|
|
getVoices(deviceSN: string): Promise<Voices>;
|
|
getCipher(/*stationSN: string, */ cipherID: number, userID: string): Promise<Cipher>;
|
|
getDevices(): FullDevices;
|
|
getHubs(): Hubs;
|
|
getToken(): string | null;
|
|
getTokenExpiration(): Date | null;
|
|
setToken(token: string): void;
|
|
setTokenExpiration(tokenExpiration: Date): void;
|
|
getAPIBase(): string;
|
|
setOpenUDID(openudid: string): void;
|
|
setSerialNumber(serialnumber: string): void;
|
|
private _getEvents;
|
|
getVideoEvents(startTime: Date, endTime: Date, filter?: EventFilterType, maxResults?: number): Promise<Array<EventRecordResponse>>;
|
|
getAlarmEvents(startTime: Date, endTime: Date, filter?: EventFilterType, maxResults?: number): Promise<Array<EventRecordResponse>>;
|
|
getHistoryEvents(startTime: Date, endTime: Date, filter?: EventFilterType, maxResults?: number): Promise<Array<EventRecordResponse>>;
|
|
getAllVideoEvents(filter?: EventFilterType, maxResults?: number): Promise<Array<EventRecordResponse>>;
|
|
getAllAlarmEvents(filter?: EventFilterType, maxResults?: number): Promise<Array<EventRecordResponse>>;
|
|
getAllHistoryEvents(filter?: EventFilterType, maxResults?: number): Promise<Array<EventRecordResponse>>;
|
|
isConnected(): boolean;
|
|
getInvites(): Promise<Invites>;
|
|
confirmInvites(confirmInvites: Array<ConfirmInvite>): Promise<boolean>;
|
|
getPublicKey(deviceSN: string, type: PublicKeyType): Promise<string>;
|
|
decryptAPIData(data?: string, json?: boolean): any;
|
|
getSensorHistory(stationSN: string, deviceSN: string): Promise<Array<SensorHistoryEntry>>;
|
|
getHouseDetail(houseID: string): Promise<HouseDetail | null>;
|
|
getHouseList(): Promise<Array<HouseListResponse>>;
|
|
getHouseInviteList(isInviter?: number): Promise<Array<HouseInviteListResponse>>;
|
|
confirmHouseInvite(houseID: string, inviteID: number): Promise<boolean>;
|
|
getPersistentData(): HTTPApiPersistentData | undefined;
|
|
getPassportProfile(): Promise<PassportProfileResponse | null>;
|
|
addUser(deviceSN: string, nickname: string, stationSN?: string): Promise<AddUserResponse | null>;
|
|
deleteUser(deviceSN: string, shortUserId: string, stationSN?: string): Promise<boolean>;
|
|
getUsers(deviceSN: string, stationSN: string): Promise<Array<User> | null>;
|
|
getUser(deviceSN: string, stationSN: string, shortUserId: string): Promise<User | null>;
|
|
updateUser(deviceSN: string, stationSN: string, shortUserId: string, nickname: string): Promise<boolean>;
|
|
getImage(deviceSN: string, url: string): Promise<Buffer>;
|
|
updateUserPassword(deviceSN: string, shortUserId: string, passwordId: string, schedule: Schedule, stationSN?: string): Promise<boolean>;
|
|
}
|