in src/deviceExplorer.ts [131:166]
private done(op: string, label: string, resolve, reject, hostName: string = null, outputChannel: vscode.OutputChannel = this._outputChannel, iotHubConnectionString?: string) {
return (err, deviceInfo, res) => {
const eventName = `AZ.${label.replace(/\s/g, ".")}.${op}`;
if (err) {
TelemetryClient.sendEvent(eventName, { Result: "Fail" }, iotHubConnectionString);
this.outputLine(label, `[${op}] error: ${err.toString()}`, outputChannel);
reject(err);
}
if (res) {
let result = "Fail";
if (res.statusCode < 300) {
result = "Success";
if (op === "Create" || op === "Delete") {
// Workaround for https://github.com/microsoft/vscode-azure-iot-toolkit/issues/331
setTimeout(() => {
vscode.commands.executeCommand("azure-iot-toolkit.refresh");
}, 500);
}
}
TelemetryClient.sendEvent(eventName, { Result: result }, iotHubConnectionString);
this.outputLine(label, `[${op}][${result}] status: ${res.statusCode} ${res.statusMessage}`, outputChannel);
}
if (deviceInfo) {
if (deviceInfo.authentication.SymmetricKey.primaryKey != null) {
deviceInfo.connectionString = ConnectionString.createWithSharedAccessKey(hostName,
deviceInfo.deviceId, deviceInfo.authentication.SymmetricKey.primaryKey);
}
if (deviceInfo.authentication.x509Thumbprint.primaryThumbprint != null) {
deviceInfo.connectionString = ConnectionString.createWithX509Certificate(hostName, deviceInfo.deviceId);
}
this.outputLine(label, `[${op}] device info: ${JSON.stringify(deviceInfo, null, 2)}`, outputChannel);
resolve(deviceInfo);
}
resolve();
};
}