iqs-clients-mqttgateway-node
Version:
Node.js client sdk for mqttgateway microservice
83 lines (72 loc) • 3.57 kB
text/typescript
import { IReferences } from 'pip-services3-commons-node';
import { Descriptor } from 'pip-services3-commons-node';
import { DirectClient } from 'pip-services3-rpc-node';
import { CommandValueV1 } from './CommandValueV1';
import { IMqttGatewayClientV1 } from './IMqttGatewayClientV1';
//import { IMqttGatewayController } from 'iqs-services-mqttgateway-node';
export class MqttGatewayDirectClientV1 extends DirectClient<any> implements IMqttGatewayClientV1 {
public constructor() {
super();
this._dependencyResolver.put('controller', new Descriptor("iqs-services-mqttgateway", "controller", "*", "*", "*"))
}
public sendCommands(correlationId: string, orgId: string, deviceId: string,
values: CommandValueV1[], timestamp: number,
callback?: (err: any, result: boolean) => void) {
let timing = this.instrument(correlationId, 'mqttgateway.send_commands');
this._controller.sendCommands(correlationId, orgId, deviceId, values, timestamp, (err, result) => {
timing.endTiming();
callback(err, result);
});
}
public broadcastCommands(correlationId: string, orgId: string,
values: CommandValueV1[], timestamp: number,
callback?: (err: any, result: boolean) => void) {
let timing = this.instrument(correlationId, 'mqttgateway.breadcast_commands');
this._controller.broadcastCommands(correlationId, orgId, values, timestamp, (err, result) => {
timing.endTiming();
callback(err, result);
});
}
public sendSignal(correlationId: string, orgId: string, deviceId: string,
signal: number, timestamp: number,
callback?: (err: any, result: boolean) => void) {
let timing = this.instrument(correlationId, 'mqttgateway.send_signal');
this._controller.sendSignal(correlationId, orgId, deviceId, signal, timestamp, (err, result) => {
timing.endTiming();
callback(err, result);
});
}
public broadcastSignal(correlationId: string, orgId: string,
signal: number, timestamp: number,
callback?: (err: any, result: boolean) => void) {
let timing = this.instrument(correlationId, 'mqttgateway.breadcast_signal');
this._controller.broadcastSignal(correlationId, orgId, signal, timestamp, (err, result) => {
timing.endTiming();
callback(err, result);
});
}
public pingGateway(correlationId: string, orgId: string, gatewayId: string,
callback?: (err: any) => void) {
let timing = this.instrument(correlationId, 'mqttgateway.ping_gateway');
this._controller.pingGateway(correlationId, orgId, gatewayId, (err) => {
timing.endTiming();
callback(err);
});
}
public pingDevice(correlationId: string, orgId: string, deviceId: string,
callback?: (err: any) => void) {
let timing = this.instrument(correlationId, 'mqttgateway.ping_device');
this._controller.pingDevice(correlationId, orgId, deviceId, (err) => {
timing.endTiming();
callback(err);
});
}
public requestStatistics(correlationId: string, orgId: string, gatewayId: string,
callback?: (err: any) => void) {
let timing = this.instrument(correlationId, 'mqttgateway.request_statistics');
this._controller.requestStatistics(correlationId, orgId, gatewayId, (err) => {
timing.endTiming();
callback(err);
});
}
}