Skip to content

Commit 46a46d5

Browse files
committed
fix object explorer menu for version check
1 parent a435e55 commit 46a46d5

3 files changed

Lines changed: 30 additions & 38 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@
9595
},
9696
{
9797
"command": "extension.sp_blitzversion",
98-
"when": "connectionProvider == MSSQL",
98+
"when": "connectionProvider == MSSQL && nodeType && nodeType == Server",
9999
"group": "FRK"
100100
},
101101
{

src/extension.ts

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ export function activate(context: vscode.ExtensionContext) {
1414
// checking spblitz versioning
1515
var oediag = async (context: sqlops.ObjectExplorerContext) => {
1616
vscode.window.showInformationMessage(context.isConnectionNode.toString());
17-
vscode.window.showInformationMessage(context.nodeInfo.label);
18-
vscode.window.showInformationMessage(context.nodeInfo.nodePath);
17+
vscode.window.showInformationMessage(context.nodeInfo.nodeSubType);
18+
vscode.window.showInformationMessage(context.nodeInfo.iconType.toString());
1919
};
2020
var disposable_oediag = vscode.commands.registerCommand('extension.OEdiagnostics', oediag);
2121
context.subscriptions.push(disposable_oediag);
@@ -25,20 +25,16 @@ export function activate(context: vscode.ExtensionContext) {
2525
var amIUPD = new updatecheck();
2626
let updateReturn = await amIUPD.checkForUpdates(context);
2727

28-
// updateChoice.then(function(updateReturn) {
29-
// if (updateReturn) {
30-
vscode.window.showInformationMessage(updateReturn);
31-
if (updateReturn == 'update') {
32-
getblitzall();
33-
} else if (updateReturn != '') {
34-
let versionURL = 'https://github.com/BrentOzarULTD/SQL-Server-First-Responder-Kit/releases/tag/' + updateReturn;
35-
vscode.commands.executeCommand('vscode.open', vscode.Uri.parse(versionURL));
36-
} else {
37-
// do nothing
38-
vscode.window.showInformationMessage("nothing came back");
39-
}
40-
// }
41-
// });
28+
//vscode.window.showInformationMessage(updateReturn);
29+
if (updateReturn == 'update') {
30+
getblitzall();
31+
} else if (updateReturn != '') {
32+
let versionURL = 'https://github.com/BrentOzarULTD/SQL-Server-First-Responder-Kit/releases/tag/' + updateReturn;
33+
vscode.commands.executeCommand('vscode.open', vscode.Uri.parse(versionURL));
34+
} else {
35+
// do nothing
36+
vscode.window.showErrorMessage("Sorry about this. Please report the issue on Github.");
37+
}
4238
};
4339
var disposable_spblitzversion = vscode.commands.registerCommand('extension.sp_blitzversion', getblitzversion);
4440
context.subscriptions.push(disposable_spblitzversion);

src/updateCheck.ts

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,22 @@ let apiconfig: apiConfig.apiconfig = require('../apiconfig.json');
1010
export class updatecheck {
1111
public async checkForUpdates(context: sqlops.ObjectExplorerContext): Promise<string> {
1212
let baseUrl = "https://api.github.com/repos/BrentOzarULTD/SQL-Server-First-Responder-Kit/releases/latest";
13-
// /repos/:owner/:repo/releases/latest
13+
1414
let apitoken = 'token ' + apiconfig.token;
1515
let queryProvider = sqlops.dataprotocol.getProvider<sqlops.QueryProvider>(context.connectionProfile.providerName, sqlops.DataProviderType.QueryProvider);
1616
vscode.window.showInformationMessage("Checking First Responder Kit for Updates");
1717
try {
1818
let connection = await sqlops.connection.getCurrentConnection();
1919
let query = `declare @versionno datetime
20-
exec sp_blitz @help = 1, @versiondate = @versionno output
21-
select convert(varchar(10),@versionno,112) as versionno`;
20+
IF OBJECT_ID('dbo.sp_Blitz') IS NULL
21+
set @versionno = '1/1/1900'
22+
ELSE
23+
exec sp_blitz @help = 1, @versiondate = @versionno output
24+
select convert(varchar(10),@versionno,112) as versionno`;
25+
2226
let connectionUri = await sqlops.connection.getUriForConnection(connection.connectionId);
2327
if (connection) {
2428
let results = await queryProvider.runQueryAndReturn(connectionUri, query);
25-
//vscode.window.showInformationMessage(results.rowCount.toString());
2629
let cell = results.rows[0][0];
2730
let currentVersion = cell.displayValue;
2831

@@ -37,33 +40,26 @@ export class updatecheck {
3740
simple: false
3841
};
3942
var scriptText = await request.get(options);
40-
//vscode.window.showInformationMessage("newest version: " + scriptText.tag_name);
4143

4244
let recentVersion = scriptText.tag_name;
4345
//compare against db version
4446
if (recentVersion > currentVersion) {
45-
// var whatClicked =
46-
var buttonName = await vscode.window.showInformationMessage("New Version of First Responder Kit available.", {modal:false}, "Get It", "Tell Me More");
47-
48-
// whatClicked.then(function(buttonName) {
49-
vscode.window.showInformationMessage(buttonName);
50-
if (buttonName){
51-
if (buttonName == "Get It") {
52-
return 'update';
53-
} else if (buttonName == "Tell Me More") {
54-
return recentVersion;
55-
}
56-
} else {
57-
return '';
47+
let updateMsg = 'New Version of First Responder Kit available (' + recentVersion + '). You have version ' + currentVersion +'.'
48+
var buttonName = await vscode.window.showInformationMessage(updateMsg, {modal:false}, "Get It", "Tell Me More");
49+
if (buttonName){
50+
if (buttonName == "Get It") {
51+
return 'update';
52+
} else if (buttonName == "Tell Me More") {
53+
return recentVersion;
5854
}
59-
// });
60-
55+
} else {
56+
return '';
57+
}
6158
} else {
6259
vscode.window.showInformationMessage("You're up to date!", {modal:false}, "Close");
6360
return '';
6461
}
6562

66-
//confirm if user wants to update scripts
6763
} else {
6864
vscode.window.showErrorMessage("Please connect to SQL server to check First Responder Kit version.");
6965
return '';

0 commit comments

Comments
 (0)