diff --git a/extensions/sql-bindings/package.json b/extensions/sql-bindings/package.json index 0a03660e07..b36497f3d8 100644 --- a/extensions/sql-bindings/package.json +++ b/extensions/sql-bindings/package.json @@ -69,6 +69,7 @@ }, "devDependencies": { "@types/node": "^14.14.16", + "@types/uuid": "^3.4.5", "should": "^13.2.1", "sinon": "^9.0.2", "typemoq": "^2.1.0", diff --git a/extensions/sql-bindings/src/dialogs/addSqlBindingQuickpick.ts b/extensions/sql-bindings/src/dialogs/addSqlBindingQuickpick.ts index a3acb6595c..6c89bec7c3 100644 --- a/extensions/sql-bindings/src/dialogs/addSqlBindingQuickpick.ts +++ b/extensions/sql-bindings/src/dialogs/addSqlBindingQuickpick.ts @@ -4,6 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as vscode from 'vscode'; +import * as uuid from 'uuid'; import * as constants from '../common/constants'; import * as utils from '../common/utils'; import * as azureFunctionsUtils from '../common/azureFunctionsUtils'; @@ -11,9 +12,10 @@ import { TelemetryActions, TelemetryReporter, TelemetryViews } from '../common/t import { addSqlBinding, getAzureFunctions } from '../services/azureFunctionsService'; export async function launchAddSqlBindingQuickpick(uri: vscode.Uri | undefined): Promise { + let sessionId: string = uuid.v4(); let quickPickStep: string = ''; let exitReason: string = 'cancelled'; - let propertyBag: { [key: string]: string } = {}; + let propertyBag: { [key: string]: string } = { sessionId: sessionId }; TelemetryReporter.sendActionEvent(TelemetryViews.SqlBindingsQuickPick, TelemetryActions.startAddSqlBinding); if (!uri) { diff --git a/extensions/sql-bindings/src/services/azureFunctionsService.ts b/extensions/sql-bindings/src/services/azureFunctionsService.ts index 88eea6b7b0..909e9327dd 100644 --- a/extensions/sql-bindings/src/services/azureFunctionsService.ts +++ b/extensions/sql-bindings/src/services/azureFunctionsService.ts @@ -5,6 +5,7 @@ import * as vscode from 'vscode'; import * as path from 'path'; +import * as uuid from 'uuid'; import * as utils from '../common/utils'; import * as azureFunctionsUtils from '../common/azureFunctionsUtils'; import * as constants from '../common/constants'; @@ -16,7 +17,8 @@ import { IConnectionInfo } from 'vscode-mssql'; export const hostFileName: string = 'host.json'; export async function createAzureFunction(connectionString: string, schema: string, table: string, connectionInfo: IConnectionInfo): Promise { - let propertyBag: { [key: string]: string } = {}; + let sessionId: string = uuid.v4(); + let propertyBag: { [key: string]: string } = { sessionId: sessionId }; let quickPickStep: string = ''; let exitReason: string = 'cancelled'; diff --git a/extensions/sql-bindings/yarn.lock b/extensions/sql-bindings/yarn.lock index fdd7a08ecc..661c9a948c 100644 --- a/extensions/sql-bindings/yarn.lock +++ b/extensions/sql-bindings/yarn.lock @@ -298,6 +298,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz#0d4557fd3b94497d793efd4e7d92df2f83b4ef24" integrity sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A== +"@types/uuid@^3.4.5": + version "3.4.10" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-3.4.10.tgz#637d3c8431f112edf6728ac9bdfadfe029540f48" + integrity sha512-BgeaZuElf7DEYZhWYDTc/XcLZXdVgFkVSTa13BqKvbnmUrxr3TJFKofUxCtDO9UQOdhnV+HPOESdHiHKZOJV1A== + ansi-regex@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1"