dt-common-device
Version:
A secure and robust device management library for IoT applications
40 lines (39 loc) • 2.43 kB
TypeScript
import { IDevice, IStatus, IStatusQuery } from "../interfaces";
import { Source } from "../../../constants/Service";
import { AuditProperties } from "../../../audit/AuditProperties";
export declare class LocalDeviceService {
private readonly eventHandler;
private readonly deviceRepository;
private readonly alertService;
private readonly issueService;
private readonly logger;
constructor();
createDevice(body: IDevice): Promise<IDevice>;
getDevice(deviceId: string, withHubDetails?: boolean): Promise<IDevice>;
getDevices(deviceIds: string[], withHubDetails?: boolean): Promise<IDevice[]>;
getPropertyDevices(propertyId: string, selectDeviceId?: boolean, type?: string, withHubDetails?: boolean): Promise<IDevice[]>;
getPropertyDeviceIds(propertyId: string, selectDeviceId: boolean | undefined, type: string): Promise<any>;
updateDevice(deviceId: string, body: any, auditBody: AuditProperties): Promise<any>;
deleteDevice(deviceId: string, auditBody: AuditProperties): Promise<any>;
getState(deviceId: string): Promise<any>;
setState(deviceId: string, newState: any, auditProperties: AuditProperties): Promise<void>;
getStatus(deviceId: string): Promise<Record<string, any>>;
setStatus(deviceId: string, newStatus: IStatus, source: Source, auditBody: AuditProperties, reason?: string): Promise<void>;
setStatusMany(query: IStatusQuery, newStatus: IStatus, source: Source, auditBody: AuditProperties): Promise<void>;
private handleOfflineStatus;
private handleOnlineStatus;
private getDeviceBaseline;
getBatteryLevel(deviceId: string): Promise<Record<string, any>>;
setBatteryLevel(deviceId: string, batteryLevel: number, source: Source, auditBody: AuditProperties): Promise<void>;
private shouldUpdateBatteryLevel;
private getPropertyBatteryThreshold;
private checkForDeviceMalfunctions;
getMetaData(deviceId: string): Promise<any>;
setMetaData(deviceId: string, metaData: Record<string, any>, auditBody: AuditProperties): Promise<any>;
getDevicesByZone(zoneId: string): Promise<import("../interfaces").IDtDevice[]>;
getDevicesByAccessGroup(accessGroupId: string): Promise<import("../interfaces").IDtDevice[]>;
querySelect(query: any, fields: string[]): Promise<any>;
queryCount(query: any): Promise<number>;
deleteDevices(query: any): Promise<any>;
queryDevices(query: any): Promise<any>;
}