MCPcopy Create free account
hub / github.com/dzsquared/sqlops-firstresponderkit / checkForUpdates

Function checkForUpdates

src/updateCheck.ts:28–120  ·  view source on GitHub ↗
(context?: sqlops.ObjectExplorerContext)

Source from the content-addressed store, hash-verified

26export let disposable_spblitzversion = vscode.commands.registerCommand('extension.sp_blitzversion', getblitzversion);
27
28async function checkForUpdates(context?: sqlops.ObjectExplorerContext): Promise<string> {
29 let baseUrl = "https://api.github.com/repos/BrentOzarULTD/SQL-Server-First-Responder-Kit/releases/latest";
30 let apitoken = 'token ' + apiconfig.token;
31
32 try {
33 var connectId;
34 if (context) {
35 let connection = context.connectionProfile;
36 connectId = connection.id;
37 let connectionMaybe = await sqlops.connection.getCurrentConnection();
38 if (!connectionMaybe) {
39 throw("Connect to server before checking First Responder Kit version.");
40 }
41 } else {
42 let connection = await sqlops.connection.getCurrentConnection();
43 if (!connection) {
44 throw("Connect to server before checking First Responder Kit version.");
45 }
46 connectId = connection.connectionId;
47 }
48 vscode.window.showInformationMessage("Checking First Responder Kit for Updates");
49
50 let query = `declare @versionno datetime
51 DECLARE @VERSION VARCHAR(30)
52
53 IF OBJECT_ID('dbo.sp_Blitz') IS NULL
54 set @versionno = '1/1/1900'
55 ELSE
56 BEGIN
57 BEGIN TRY
58 exec sp_blitz @VERSIONCHECKMODE = 1, @VERSION = @VERSION OUTPUT, @versiondate = @versionno output;
59 END TRY
60 BEGIN CATCH
61 exec sp_blitz @help = 1, @versiondate = @versionno output
62 END CATCH
63 END
64
65 select convert(varchar(10),@versionno,112) as versionno`;
66
67 let connectionUri = await sqlops.connection.getUriForConnection(connectId);
68 let queryProvider = sqlops.dataprotocol.getProvider<sqlops.QueryProvider>(context.connectionProfile.providerName, sqlops.DataProviderType.QueryProvider);
69 let results = await queryProvider.runQueryAndReturn(connectionUri, query);
70 let cell = results.rows[0][0];
71 let currentVersion = cell.displayValue;
72
73 //get live most recent version from github
74 var options = {
75 uri: baseUrl,
76 headers: {
77 'Authorization': apitoken,
78 'User-Agent': 'Request-Promise'
79 },
80 json: true,
81 simple: false
82 };
83 var scriptText = await request.get(options);
84 let recentVersion = scriptText.tag_name;
85

Callers 1

getblitzversionFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected