@@ -10,19 +10,22 @@ let apiconfig: apiConfig.apiconfig = require('../apiconfig.json');
1010export 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