mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-06-15 08:25:07 -04:00
Move protocol client out (#643)
* close * connection is working * formatting * adds all * formatting * formatting and changing how features are initialized * formatting * changed named of typings file * update * updated to use dataprotocol npm * formatting * removed unneeded logging * readd npm shrinkwrap * still not working * removed unnecessary codfe * addressed comments * readded azure resource provider * fix capabilities cacheing * added backwards capat for older protocol * update shrinkwrap * update shrinkwrap * updated shrinkwrap * fixed tests * removed dead code * remove dead code * fix compile * remove backcompat stuff * change location of npm * vbump sqltools * merge master * fix imports * fix build breaks * update for sqlops * update yarn dependencies
This commit is contained in:
@@ -21,7 +21,6 @@ function yarnInstall(location, opts) {
|
||||
}
|
||||
|
||||
// {{SQL CARBON EDIT}}
|
||||
yarnInstall('dataprotocol-client');
|
||||
yarnInstall('extensions-modules');
|
||||
yarnInstall('extensions'); // node modules shared by all extensions
|
||||
|
||||
|
||||
178
build/yarn.lock
178
build/yarn.lock
@@ -344,6 +344,12 @@ commander@2.11.0:
|
||||
version "2.11.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563"
|
||||
|
||||
commander@2.9.0:
|
||||
version "2.9.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
|
||||
dependencies:
|
||||
graceful-readlink ">= 1.0.0"
|
||||
|
||||
commander@^2.9.0:
|
||||
version "2.13.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c"
|
||||
@@ -384,10 +390,12 @@ dashdash@^1.12.0:
|
||||
dependencies:
|
||||
assert-plus "^1.0.0"
|
||||
|
||||
"dataprotocol-client@file:../dataprotocol-client":
|
||||
"dataprotocol-client@git://github.com/Microsoft/sqlops-dataprotocolclient.git#release":
|
||||
version "1.0.0"
|
||||
resolved "git://github.com/Microsoft/sqlops-dataprotocolclient.git#739fdf93140c3cb1bc882076bf11765b187bf8a3"
|
||||
dependencies:
|
||||
typescript "2.6.2"
|
||||
sqlops "git://github.com/anthonydresser/vscode-extension-vscode"
|
||||
vscode "1.1.5"
|
||||
vscode-languageclient "3.5.0"
|
||||
|
||||
dateformat@^2.0.0:
|
||||
@@ -400,6 +408,12 @@ debug@2:
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@2.6.8:
|
||||
version "2.6.8"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@3.1.0, debug@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
|
||||
@@ -464,6 +478,10 @@ delayed-stream@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
|
||||
|
||||
diff@3.2.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9"
|
||||
|
||||
diff@3.3.1:
|
||||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75"
|
||||
@@ -569,7 +587,7 @@ extend@~1.2.1:
|
||||
"extensions-modules@file:../extensions-modules":
|
||||
version "0.1.0"
|
||||
dependencies:
|
||||
dataprotocol-client "file:C:/Users/andresse/AppData/Local/Yarn/cache/v1/dataprotocol-client"
|
||||
dataprotocol-client "git://github.com/Microsoft/sqlops-dataprotocolclient.git#release"
|
||||
decompress "^4.2.0"
|
||||
fs-extra-promise "^1.0.1"
|
||||
http-proxy-agent "^2.0.0"
|
||||
@@ -758,7 +776,18 @@ glob-stream@^5.3.2:
|
||||
to-absolute-glob "^0.1.1"
|
||||
unique-stream "^2.0.2"
|
||||
|
||||
glob@7.1.2, glob@^7.0.5, glob@^7.1.2:
|
||||
glob@7.1.1:
|
||||
version "7.1.1"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
|
||||
dependencies:
|
||||
fs.realpath "^1.0.0"
|
||||
inflight "^1.0.4"
|
||||
inherits "2"
|
||||
minimatch "^3.0.2"
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@7.1.2, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2:
|
||||
version "7.1.2"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
|
||||
dependencies:
|
||||
@@ -797,6 +826,10 @@ growl@1.10.3:
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f"
|
||||
|
||||
growl@1.9.2:
|
||||
version "1.9.2"
|
||||
resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f"
|
||||
|
||||
gulp-chmod@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/gulp-chmod/-/gulp-chmod-2.0.0.tgz#00c390b928a0799b251accf631aa09e01cc6299c"
|
||||
@@ -805,7 +838,7 @@ gulp-chmod@^2.0.0:
|
||||
stat-mode "^0.2.0"
|
||||
through2 "^2.0.0"
|
||||
|
||||
gulp-filter@^5.0.1:
|
||||
gulp-filter@^5.0.0, gulp-filter@^5.0.1:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/gulp-filter/-/gulp-filter-5.1.0.tgz#a05e11affb07cf7dcf41a7de1cb7b63ac3783e73"
|
||||
dependencies:
|
||||
@@ -813,6 +846,13 @@ gulp-filter@^5.0.1:
|
||||
plugin-error "^0.1.2"
|
||||
streamfilter "^1.0.5"
|
||||
|
||||
gulp-gunzip@0.0.3:
|
||||
version "0.0.3"
|
||||
resolved "https://registry.yarnpkg.com/gulp-gunzip/-/gulp-gunzip-0.0.3.tgz#7b6e07b0f58fd3d42515c48ead5a63df0572f62f"
|
||||
dependencies:
|
||||
through2 "~0.6.5"
|
||||
vinyl "~0.4.6"
|
||||
|
||||
gulp-gunzip@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/gulp-gunzip/-/gulp-gunzip-1.0.0.tgz#15b741145e83a9c6f50886241b57cc5871f151a9"
|
||||
@@ -820,7 +860,7 @@ gulp-gunzip@1.0.0:
|
||||
through2 "~0.6.5"
|
||||
vinyl "~0.4.6"
|
||||
|
||||
gulp-remote-src@^0.4.3:
|
||||
gulp-remote-src@^0.4.2, gulp-remote-src@^0.4.3:
|
||||
version "0.4.3"
|
||||
resolved "https://registry.yarnpkg.com/gulp-remote-src/-/gulp-remote-src-0.4.3.tgz#5728cfd643433dd4845ddef0969f0f971a2ab4a1"
|
||||
dependencies:
|
||||
@@ -882,6 +922,18 @@ gulp-util@~3.0.8:
|
||||
through2 "^2.0.0"
|
||||
vinyl "^0.5.0"
|
||||
|
||||
gulp-vinyl-zip@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/gulp-vinyl-zip/-/gulp-vinyl-zip-1.4.0.tgz#56382f2ccb57231bb0478c78737ccd572973bee1"
|
||||
dependencies:
|
||||
event-stream "^3.3.1"
|
||||
queue "^3.0.10"
|
||||
through2 "^0.6.3"
|
||||
vinyl "^0.4.6"
|
||||
vinyl-fs "^2.0.0"
|
||||
yauzl "^2.2.1"
|
||||
yazl "^2.2.1"
|
||||
|
||||
gulp-vinyl-zip@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/gulp-vinyl-zip/-/gulp-vinyl-zip-2.1.0.tgz#24e40685dc05b7149995245099e0590263be8dad"
|
||||
@@ -937,6 +989,10 @@ has-ansi@^2.0.0:
|
||||
dependencies:
|
||||
ansi-regex "^2.0.0"
|
||||
|
||||
has-flag@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
|
||||
|
||||
has-flag@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
|
||||
@@ -1174,6 +1230,10 @@ json-stringify-safe@~5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
|
||||
|
||||
json3@3.3.2:
|
||||
version "3.3.2"
|
||||
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
|
||||
|
||||
jsonfile@^2.1.0:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
|
||||
@@ -1223,10 +1283,21 @@ lazystream@^1.0.0:
|
||||
dependencies:
|
||||
readable-stream "^2.0.5"
|
||||
|
||||
lodash._baseassign@^3.0.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
|
||||
dependencies:
|
||||
lodash._basecopy "^3.0.0"
|
||||
lodash.keys "^3.0.0"
|
||||
|
||||
lodash._basecopy@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
|
||||
|
||||
lodash._basecreate@^3.0.0:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821"
|
||||
|
||||
lodash._basetostring@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5"
|
||||
@@ -1259,6 +1330,14 @@ lodash._root@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
|
||||
|
||||
lodash.create@3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7"
|
||||
dependencies:
|
||||
lodash._baseassign "^3.0.0"
|
||||
lodash._basecreate "^3.0.0"
|
||||
lodash._isiterateecall "^3.0.0"
|
||||
|
||||
lodash.escape@^3.0.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698"
|
||||
@@ -1365,7 +1444,7 @@ mime@^1.3.4:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
|
||||
|
||||
"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.4:
|
||||
"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
||||
dependencies:
|
||||
@@ -1385,6 +1464,23 @@ mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1:
|
||||
dependencies:
|
||||
minimist "0.0.8"
|
||||
|
||||
mocha@^3.2.0:
|
||||
version "3.5.3"
|
||||
resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.5.3.tgz#1e0480fe36d2da5858d1eb6acc38418b26eaa20d"
|
||||
dependencies:
|
||||
browser-stdout "1.3.0"
|
||||
commander "2.9.0"
|
||||
debug "2.6.8"
|
||||
diff "3.2.0"
|
||||
escape-string-regexp "1.0.5"
|
||||
glob "7.1.1"
|
||||
growl "1.9.2"
|
||||
he "1.1.1"
|
||||
json3 "3.3.2"
|
||||
lodash.create "3.1.1"
|
||||
mkdirp "0.5.1"
|
||||
supports-color "3.1.2"
|
||||
|
||||
mocha@^4.0.1:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/mocha/-/mocha-4.1.0.tgz#7d86cfbcf35cb829e2754c32e17355ec05338794"
|
||||
@@ -1566,7 +1662,7 @@ querystringify@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb"
|
||||
|
||||
queue@^3.1.0:
|
||||
queue@^3.0.10, queue@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/queue/-/queue-3.1.0.tgz#6c49d01f009e2256788789f2bffac6b8b9990585"
|
||||
dependencies:
|
||||
@@ -1652,7 +1748,7 @@ replace-ext@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
|
||||
|
||||
request@^2.83.0:
|
||||
request@^2.79.0, request@^2.83.0:
|
||||
version "2.83.0"
|
||||
resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356"
|
||||
dependencies:
|
||||
@@ -1763,7 +1859,7 @@ semaphore@1.0.5:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.0.5.tgz#b492576e66af193db95d65e25ec53f5f19798d60"
|
||||
|
||||
semver@^5.4.1:
|
||||
semver@^5.3.0, semver@^5.4.1:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
|
||||
|
||||
@@ -1779,12 +1875,22 @@ sntp@2.x.x:
|
||||
dependencies:
|
||||
hoek "4.x.x"
|
||||
|
||||
source-map-support@^0.4.11:
|
||||
version "0.4.18"
|
||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
|
||||
dependencies:
|
||||
source-map "^0.5.6"
|
||||
|
||||
source-map-support@^0.5.0:
|
||||
version "0.5.2"
|
||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.2.tgz#1a6297fd5b2e762b39688c7fc91233b60984f0a5"
|
||||
dependencies:
|
||||
source-map "^0.6.0"
|
||||
|
||||
source-map@^0.5.6:
|
||||
version "0.5.7"
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
|
||||
|
||||
source-map@^0.6.0:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
|
||||
@@ -1799,6 +1905,25 @@ split@0.3:
|
||||
dependencies:
|
||||
through "2"
|
||||
|
||||
"sqlops@git://github.com/anthonydresser/vscode-extension-vscode":
|
||||
version "1.1.10"
|
||||
resolved "git://github.com/anthonydresser/vscode-extension-vscode#96cc0758d2528a33a12d73894a6d40c8bfb15ca1"
|
||||
dependencies:
|
||||
glob "^7.1.2"
|
||||
gulp-chmod "^2.0.0"
|
||||
gulp-filter "^5.0.1"
|
||||
gulp-gunzip "1.0.0"
|
||||
gulp-remote-src "^0.4.3"
|
||||
gulp-symdest "^1.1.0"
|
||||
gulp-untar "^0.0.6"
|
||||
gulp-vinyl-zip "^2.1.0"
|
||||
mocha "^4.0.1"
|
||||
request "^2.83.0"
|
||||
semver "^5.4.1"
|
||||
source-map-support "^0.5.0"
|
||||
url-parse "^1.1.9"
|
||||
vinyl-source-stream "^1.1.0"
|
||||
|
||||
sshpk@^1.7.0:
|
||||
version "1.13.1"
|
||||
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3"
|
||||
@@ -1876,6 +2001,12 @@ strip-dirs@^2.0.0:
|
||||
dependencies:
|
||||
is-natural-number "^4.0.1"
|
||||
|
||||
supports-color@3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5"
|
||||
dependencies:
|
||||
has-flag "^1.0.0"
|
||||
|
||||
supports-color@4.4.0:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e"
|
||||
@@ -1910,7 +2041,7 @@ through2-filter@^2.0.0:
|
||||
through2 "~2.0.0"
|
||||
xtend "~4.0.0"
|
||||
|
||||
through2@^0.6.0, through2@~0.6.5:
|
||||
through2@^0.6.0, through2@^0.6.3, through2@~0.6.5:
|
||||
version "0.6.5"
|
||||
resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
|
||||
dependencies:
|
||||
@@ -1968,10 +2099,6 @@ typescript@2.6.1:
|
||||
version "2.6.1"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.1.tgz#ef39cdea27abac0b500242d6726ab90e0c846631"
|
||||
|
||||
typescript@2.6.2:
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4"
|
||||
|
||||
unbzip2-stream@^1.0.9:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz#73a033a567bbbde59654b193c44d48a7e4f43c47"
|
||||
@@ -2054,7 +2181,7 @@ vinyl-source-stream@^1.1.0:
|
||||
through2 "^2.0.3"
|
||||
vinyl "^0.4.3"
|
||||
|
||||
vinyl@^0.4.3, vinyl@~0.4.6:
|
||||
vinyl@^0.4.3, vinyl@^0.4.6, vinyl@~0.4.6:
|
||||
version "0.4.6"
|
||||
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847"
|
||||
dependencies:
|
||||
@@ -2128,6 +2255,25 @@ vscode-languageserver-types@^3.5.0:
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.5.0.tgz#e48d79962f0b8e02de955e3f524908e2b19c0374"
|
||||
|
||||
vscode@1.1.5:
|
||||
version "1.1.5"
|
||||
resolved "https://registry.yarnpkg.com/vscode/-/vscode-1.1.5.tgz#10eb104001840c3dd0813815fd4a05f8fc882d14"
|
||||
dependencies:
|
||||
glob "^7.1.1"
|
||||
gulp-chmod "^2.0.0"
|
||||
gulp-filter "^5.0.0"
|
||||
gulp-gunzip "0.0.3"
|
||||
gulp-remote-src "^0.4.2"
|
||||
gulp-symdest "^1.1.0"
|
||||
gulp-untar "^0.0.6"
|
||||
gulp-vinyl-zip "^1.4.0"
|
||||
mocha "^3.2.0"
|
||||
request "^2.79.0"
|
||||
semver "^5.3.0"
|
||||
source-map-support "^0.4.11"
|
||||
url-parse "^1.1.9"
|
||||
vinyl-source-stream "^1.1.0"
|
||||
|
||||
vscode@^1.0.1:
|
||||
version "1.1.10"
|
||||
resolved "https://registry.yarnpkg.com/vscode/-/vscode-1.1.10.tgz#d1cba378ab24f1d3ddf9cd470d242ee1472dd35b"
|
||||
|
||||
3
dataprotocol-client/.gitignore
vendored
3
dataprotocol-client/.gitignore
vendored
@@ -1,3 +0,0 @@
|
||||
lib
|
||||
node_modules
|
||||
npm-debug.log
|
||||
@@ -1,3 +0,0 @@
|
||||
src
|
||||
.gitignore
|
||||
tsfmt.json
|
||||
@@ -1,25 +0,0 @@
|
||||
{
|
||||
"name": "dataprotocol-client",
|
||||
"version": "1.0.0",
|
||||
"description": "SQL Operations Studio studio implementation of vscode-language-client",
|
||||
"main": "lib/main.js",
|
||||
"typings": "./lib/main",
|
||||
"scripts": {
|
||||
"prepare": "node ./node_modules/vscode/bin/install && tsc -p ./src",
|
||||
"compile": "tsc -p ./src",
|
||||
"watch": "tsc -w -p ./src",
|
||||
"update-vscode": "node ./node_modules/vscode/bin/install"
|
||||
},
|
||||
"author": "Microsoft",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"typescript": "2.6.2",
|
||||
"vscode-languageclient": "3.5.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"vscode": "1.1.5"
|
||||
},
|
||||
"engines": {
|
||||
"vscode": "^1.15"
|
||||
}
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
import * as data from 'data';
|
||||
import * as proto from './protocol';
|
||||
import * as types from './types';
|
||||
|
||||
export interface Ic2p {
|
||||
asConnectionParams(connectionUri: string, connectionInfo: data.ConnectionInfo): proto.ConnectParams;
|
||||
asExecutionPlanOptions(planOptions: data.ExecutionPlanOptions): types.ExecutionPlanOptions;
|
||||
asScriptingParams(connectionUri: string, operation: data.ScriptOperation, metadata: data.ObjectMetadata, paramDetails: data.ScriptingParamDetails): types.ScriptingParams;
|
||||
}
|
||||
|
||||
function asConnectionParams(ownerUri: string, connInfo: data.ConnectionInfo): proto.ConnectParams {
|
||||
return {
|
||||
ownerUri,
|
||||
connection: {
|
||||
options: connInfo.options
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
function asExecutionPlanOptions(planOptions: data.ExecutionPlanOptions): types.ExecutionPlanOptions {
|
||||
return {
|
||||
includeEstimatedExecutionPlanXml: planOptions ? planOptions.displayEstimatedQueryPlan : undefined,
|
||||
includeActualExecutionPlanXml: planOptions ? planOptions.displayActualQueryPlan : undefined
|
||||
};
|
||||
}
|
||||
|
||||
function asScriptingParams(ownerURI: string, operation: data.ScriptOperation, metadata: data.ObjectMetadata, paramDetails: data.ScriptingParamDetails): types.ScriptingParams {
|
||||
let scriptingObject: types.ScriptingObject = {
|
||||
type: metadata.metadataTypeName,
|
||||
schema: metadata.schema,
|
||||
name: metadata.name
|
||||
};
|
||||
let targetDatabaseEngineEdition = paramDetails.targetDatabaseEngineEdition;
|
||||
let targetDatabaseEngineType = paramDetails.targetDatabaseEngineType;
|
||||
let scriptCompatibilityOption = paramDetails.scriptCompatibilityOption;
|
||||
let scriptOptions: types.ScriptOptions = {
|
||||
scriptCreateDrop: (operation === types.ScriptOperation.Delete) ? 'ScriptDrop' :
|
||||
(operation === types.ScriptOperation.Select) ? 'ScriptSelect' : 'ScriptCreate',
|
||||
typeOfDataToScript: 'SchemaOnly',
|
||||
scriptStatistics: 'ScriptStatsNone',
|
||||
targetDatabaseEngineEdition: targetDatabaseEngineEdition ? targetDatabaseEngineEdition : 'SqlServerEnterpriseEdition',
|
||||
targetDatabaseEngineType: targetDatabaseEngineType ? targetDatabaseEngineType : 'SingleInstance',
|
||||
scriptCompatibilityOption: scriptCompatibilityOption ? scriptCompatibilityOption : 'Script140Compat'
|
||||
};
|
||||
return {
|
||||
connectionString: null,
|
||||
filePath: paramDetails.filePath,
|
||||
scriptingObjects: [scriptingObject],
|
||||
scriptDestination: 'ToEditor',
|
||||
includeObjectCriteria: null,
|
||||
excludeObjectCriteria: null,
|
||||
includeSchemas: null,
|
||||
excludeSchemas: null,
|
||||
includeTypes: null,
|
||||
excludeTypes: null,
|
||||
scriptOptions,
|
||||
connectionDetails: null,
|
||||
selectScript: null,
|
||||
ownerURI,
|
||||
operation
|
||||
};
|
||||
}
|
||||
|
||||
export const c2p: Ic2p = {
|
||||
asConnectionParams,
|
||||
asExecutionPlanOptions,
|
||||
asScriptingParams
|
||||
};
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,633 +0,0 @@
|
||||
import { ClientCapabilities as VSClientCapabilities, RequestType, NotificationType } from 'vscode-languageclient';
|
||||
|
||||
import * as types from './types';
|
||||
import * as data from 'data';
|
||||
|
||||
export interface ConnectionClientCapabilities {
|
||||
connection?: {
|
||||
/**
|
||||
* Whether the connection support dynamic registration
|
||||
*/
|
||||
dynamicRegistration?: boolean;
|
||||
};
|
||||
backup?: {
|
||||
/**
|
||||
* Whether the backup support dynamic registration
|
||||
*/
|
||||
dynamicRegistration?: boolean;
|
||||
};
|
||||
restore?: {
|
||||
/**
|
||||
* Whether the restore support dynamic registration
|
||||
*/
|
||||
dynamicRegistration?: boolean;
|
||||
};
|
||||
query?: {
|
||||
/**
|
||||
* Whether the query support dynamic registration
|
||||
*/
|
||||
dynamicRegistration?: boolean;
|
||||
};
|
||||
objectExplorer?: {
|
||||
/**
|
||||
* Whether the object explorer support dynamic registration
|
||||
*/
|
||||
dynamicRegistration?: boolean;
|
||||
};
|
||||
scripting?: {
|
||||
/**
|
||||
* Whether the scripting support dynamic registration
|
||||
*/
|
||||
dynamicRegistration?: boolean;
|
||||
};
|
||||
taskServices?: {
|
||||
/**
|
||||
* Whether the task services support dynamic registration
|
||||
*/
|
||||
dynamicRegistration?: boolean;
|
||||
};
|
||||
fileBrowser?: {
|
||||
/**
|
||||
* Whether the file browser support dynamic registration
|
||||
*/
|
||||
dynamicRegistration?: boolean;
|
||||
};
|
||||
profiler?: {
|
||||
/**
|
||||
* Whether the profiler support dynamic registration
|
||||
*/
|
||||
dynamicRegistration?: boolean;
|
||||
};
|
||||
capabilities?: {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
dynamicRegistration?: boolean;
|
||||
};
|
||||
metadata?: {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
dynamicRegistration?: boolean;
|
||||
};
|
||||
adminServices?: {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
dynamicRegistration?: boolean;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ClientCapabilities extends VSClientCapabilities {
|
||||
connection?: ConnectionClientCapabilities;
|
||||
}
|
||||
|
||||
//---- Refresh IntelliSense ----------------------------------------
|
||||
|
||||
/**
|
||||
* Notification sent when the an IntelliSense cache invalidation is requested
|
||||
*/
|
||||
export namespace RebuildIntelliSenseNotification {
|
||||
export const type = new NotificationType<RebuildIntelliSenseParams, void>('textDocument/rebuildIntelliSense');
|
||||
}
|
||||
|
||||
/**
|
||||
* Rebuild IntelliSense notification parameters
|
||||
*/
|
||||
export class RebuildIntelliSenseParams {
|
||||
/**
|
||||
* URI identifying the text document
|
||||
*/
|
||||
public ownerUri: string;
|
||||
}
|
||||
|
||||
|
||||
// ------------------------------- < Connect Request > ----------------------------------------------
|
||||
|
||||
/**
|
||||
* Connection request message format
|
||||
*/
|
||||
export interface ConnectParams {
|
||||
/**
|
||||
* URI identifying the owner of the connection
|
||||
*/
|
||||
ownerUri: string;
|
||||
|
||||
/**
|
||||
* Details for creating the connection
|
||||
*/
|
||||
connection: types.ConnectionDetails;
|
||||
}
|
||||
|
||||
|
||||
// Connection request message callback declaration
|
||||
export namespace ConnectionRequest {
|
||||
export const type = new RequestType<ConnectParams, boolean, void, void>('connection/connect');
|
||||
}
|
||||
|
||||
// ------------------------------- < Connection Complete Event > ------------------------------------
|
||||
|
||||
|
||||
export namespace ConnectionCompleteNotification {
|
||||
export const type = new NotificationType<types.ConnectionCompleteParams, void>('connection/complete');
|
||||
}
|
||||
|
||||
// ------------------------------- < Connection Changed Event > -------------------------------------
|
||||
|
||||
/**
|
||||
* Parameters for the ConnectionChanged notification.
|
||||
*/
|
||||
export class ConnectionChangedParams {
|
||||
/**
|
||||
* Owner URI of the connection that changed.
|
||||
*/
|
||||
public ownerUri: string;
|
||||
|
||||
/**
|
||||
* Summary of details containing any connection changes.
|
||||
*/
|
||||
public connection: types.ConnectionSummary;
|
||||
}
|
||||
|
||||
/**
|
||||
* Connection changed event callback declaration.
|
||||
*/
|
||||
export namespace ConnectionChangedNotification {
|
||||
export const type = new NotificationType<ConnectionChangedParams, void>('connection/connectionchanged');
|
||||
}
|
||||
|
||||
// ------------------------------- < Disconnect Request > -------------------------------------------
|
||||
|
||||
// Disconnect request message format
|
||||
export class DisconnectParams {
|
||||
// URI identifying the owner of the connection
|
||||
public ownerUri: string;
|
||||
}
|
||||
|
||||
// Disconnect response format
|
||||
export type DisconnectResult = boolean;
|
||||
|
||||
// Disconnect request message callback declaration
|
||||
export namespace DisconnectRequest {
|
||||
export const type = new RequestType<DisconnectParams, DisconnectResult, void, void>('connection/disconnect');
|
||||
}
|
||||
|
||||
// ------------------------------- < Cancel Connect Request > ---------------------------------------
|
||||
|
||||
|
||||
// Cancel connect request message format
|
||||
export class CancelConnectParams {
|
||||
/**
|
||||
* URI identifying the owner of the connection
|
||||
*/
|
||||
public ownerUri: string;
|
||||
}
|
||||
|
||||
// Cancel connect response format.
|
||||
export type CancelConnectResult = boolean;
|
||||
|
||||
// Cancel connect request message callback declaration
|
||||
export namespace CancelConnectRequest {
|
||||
export const type = new RequestType<CancelConnectParams, CancelConnectResult, void, void>('connection/cancelconnect');
|
||||
}
|
||||
|
||||
// ------------------------------- < Change Database Request > -------------------------------------
|
||||
|
||||
export class ChangeDatabaseParams {
|
||||
public ownerUri: string;
|
||||
public newDatabase: string;
|
||||
}
|
||||
|
||||
export namespace ChangeDatabaseRequest {
|
||||
export const type = new RequestType<ChangeDatabaseParams, boolean, void, void>('connection/changedatabase');
|
||||
}
|
||||
|
||||
// ------------------------------- < List Databases Request > ---------------------------------------
|
||||
|
||||
// List databases request format
|
||||
export class ListDatabasesParams {
|
||||
// Connection information to use for querying master
|
||||
public ownerUri: string;
|
||||
}
|
||||
|
||||
// List databases request callback declaration
|
||||
export namespace ListDatabasesRequest {
|
||||
export const type = new RequestType<ListDatabasesParams, data.ListDatabasesResult, void, void>('connection/listdatabases');
|
||||
}
|
||||
|
||||
// Language Flavor Changed ================================================================================
|
||||
|
||||
/**
|
||||
* Parameters to provide when sending a language flavor changed notification
|
||||
*/
|
||||
export interface DidChangeLanguageFlavorParams {
|
||||
uri: string;
|
||||
language: string;
|
||||
flavor: string;
|
||||
}
|
||||
|
||||
// ------------------------------- < Language Flavor Changed Notification > ---------------------------------------
|
||||
export namespace LanguageFlavorChangedNotification {
|
||||
export const type = new NotificationType<DidChangeLanguageFlavorParams, void>('connection/languageflavorchanged');
|
||||
}
|
||||
|
||||
// ------------------------------- < Table Metadata Request > ---------------------------------------
|
||||
|
||||
// Table metadata request format
|
||||
export class TableMetadataParams {
|
||||
// Connection information to use for querying master
|
||||
public ownerUri: string;
|
||||
|
||||
public schema: string;
|
||||
|
||||
public objectName: string;
|
||||
}
|
||||
|
||||
// Table metadata response format
|
||||
export class TableMetadataResult {
|
||||
public columns: data.ColumnMetadata[];
|
||||
}
|
||||
|
||||
// Table metadata request callback declaration
|
||||
export namespace TableMetadataRequest {
|
||||
export const type = new RequestType<TableMetadataParams, TableMetadataResult, void, void>('metadata/table');
|
||||
}
|
||||
|
||||
// ------------------------------- < View Metadata Request > ---------------------------------------
|
||||
|
||||
// Table metadata request callback declaration
|
||||
export namespace ViewMetadataRequest {
|
||||
export const type = new RequestType<TableMetadataParams, TableMetadataResult, void, void>('metadata/view');
|
||||
}
|
||||
|
||||
/**
|
||||
* Event sent when the language service is finished updating after a connection
|
||||
*/
|
||||
export namespace IntelliSenseReadyNotification {
|
||||
export const type = new NotificationType<types.IntelliSenseReadyParams, void>('textDocument/intelliSenseReady');
|
||||
}
|
||||
|
||||
// ------------------------------- < Capabilties Discovery Event > ------------------------------------
|
||||
|
||||
export class CapabiltiesDiscoveryParams {
|
||||
public hostName: string;
|
||||
|
||||
public hostVersion: string;
|
||||
}
|
||||
|
||||
export namespace CapabiltiesDiscoveryRequest {
|
||||
export const type = new RequestType<CapabiltiesDiscoveryParams, types.CapabiltiesDiscoveryResult, void, void>('capabilities/list');
|
||||
}
|
||||
|
||||
// Query Execution ================================================================================
|
||||
// ------------------------------- < Query Cancellation Request > ------------------------------------
|
||||
export namespace QueryCancelRequest {
|
||||
export const type = new RequestType<QueryCancelParams, data.QueryCancelResult, void, void>('query/cancel');
|
||||
}
|
||||
|
||||
export interface QueryCancelParams {
|
||||
ownerUri: string;
|
||||
}
|
||||
|
||||
// ------------------------------- < Query Dispose Request > ------------------------------------
|
||||
|
||||
export namespace QueryDisposeRequest {
|
||||
export const type = new RequestType<QueryDisposeParams, QueryDisposeResult, void, void>('query/dispose');
|
||||
}
|
||||
|
||||
/**
|
||||
* Parameters to provide when disposing of a query
|
||||
*/
|
||||
export interface QueryDisposeParams {
|
||||
ownerUri: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Result received upon successful disposal of a query
|
||||
*/
|
||||
export interface QueryDisposeResult {
|
||||
}
|
||||
|
||||
// ------------------------------- < Query Execution Complete Notification > ------------------------------------
|
||||
export namespace QueryExecuteCompleteNotification {
|
||||
export const type = new NotificationType<data.QueryExecuteCompleteNotificationResult, void>('query/complete');
|
||||
}
|
||||
|
||||
// ------------------------------- < Query Batch Start Notification > ------------------------------------
|
||||
export namespace QueryExecuteBatchStartNotification {
|
||||
export const type = new NotificationType<data.QueryExecuteBatchNotificationParams, void>('query/batchStart');
|
||||
}
|
||||
|
||||
// ------------------------------- < Query Batch Complete Notification > ------------------------------------
|
||||
export namespace QueryExecuteBatchCompleteNotification {
|
||||
export const type = new NotificationType<data.QueryExecuteBatchNotificationParams, void>('query/batchComplete');
|
||||
}
|
||||
|
||||
// ------------------------------- < Query ResultSet Complete Notification > ------------------------------------
|
||||
export namespace QueryExecuteResultSetCompleteNotification {
|
||||
export const type = new NotificationType<data.QueryExecuteResultSetCompleteNotificationParams, void>('query/resultSetComplete');
|
||||
}
|
||||
|
||||
// ------------------------------- < Query Message Notification > ------------------------------------
|
||||
export namespace QueryExecuteMessageNotification {
|
||||
export const type = new NotificationType<data.QueryExecuteMessageParams, void>('query/message');
|
||||
}
|
||||
|
||||
// ------------------------------- < Query Execution Request > ------------------------------------
|
||||
export namespace QueryExecuteRequest {
|
||||
export const type = new RequestType<types.QueryExecuteParams, QueryExecuteResult, void, void>('query/executeDocumentSelection');
|
||||
}
|
||||
|
||||
export interface QueryExecuteResult { }
|
||||
|
||||
// ------------------------------- < Query Results Request > ------------------------------------
|
||||
export namespace QueryExecuteSubsetRequest {
|
||||
export const type = new RequestType<data.QueryExecuteSubsetParams, data.QueryExecuteSubsetResult, void, void>('query/subset');
|
||||
}
|
||||
|
||||
export interface ResultSetSubset {
|
||||
rowCount: number;
|
||||
rows: data.DbCellValue[][];
|
||||
}
|
||||
|
||||
// ------------------------------- < Execute Statement > ------------------------------------
|
||||
export interface QueryExecuteStatementParams {
|
||||
ownerUri: string;
|
||||
line: number;
|
||||
column: number;
|
||||
}
|
||||
|
||||
export namespace QueryExecuteStatementRequest {
|
||||
export const type = new RequestType<QueryExecuteStatementParams, QueryExecuteResult, void, void>('query/executedocumentstatement');
|
||||
}
|
||||
|
||||
// --------------------------------- < Save Results as CSV Request > ------------------------------------------
|
||||
|
||||
// save results in csv format
|
||||
export namespace SaveResultsAsCsvRequest {
|
||||
export const type = new RequestType<data.SaveResultsRequestParams, data.SaveResultRequestResult, void, void>('query/saveCsv');
|
||||
}
|
||||
// --------------------------------- </ Save Results as CSV Request > ------------------------------------------
|
||||
|
||||
// --------------------------------- < Save Results as JSON Request > ------------------------------------------
|
||||
// save results in json format
|
||||
export namespace SaveResultsAsJsonRequest {
|
||||
export const type = new RequestType<data.SaveResultsRequestParams, data.SaveResultRequestResult, void, void>('query/saveJson');
|
||||
}
|
||||
// --------------------------------- </ Save Results as JSON Request > ------------------------------------------
|
||||
|
||||
// --------------------------------- < Save Results as Excel Request > ------------------------------------------
|
||||
// save results in Excel format
|
||||
export namespace SaveResultsAsExcelRequest {
|
||||
export const type = new RequestType<data.SaveResultsRequestParams, data.SaveResultRequestResult, void, void>('query/saveExcel');
|
||||
}
|
||||
// --------------------------------- </ Save Results as Excel Request > ------------------------------------------
|
||||
|
||||
// ------------------------------- < Execute and Return > -----------------------------------
|
||||
|
||||
export namespace SimpleExecuteRequest {
|
||||
export const type = new RequestType<data.SimpleExecuteParams, data.SimpleExecuteResult, void, void>('query/simpleexecute');
|
||||
}
|
||||
|
||||
// ------------------------------- < Execute String > ------------------------------------
|
||||
export interface QueryExecuteStringParams {
|
||||
query: string;
|
||||
ownerUri: string;
|
||||
}
|
||||
|
||||
export namespace QueryExecuteStringRequest {
|
||||
export const type = new RequestType<QueryExecuteStringParams, QueryExecuteResult, void, void>('query/executeString');
|
||||
}
|
||||
|
||||
// ------------------------------- < Metadata Events > ------------------------------------
|
||||
|
||||
export namespace MetadataQueryRequest {
|
||||
export const type = new RequestType<types.MetadataQueryParams, types.MetadataQueryResult, void, void>('metadata/list');
|
||||
}
|
||||
|
||||
// ------------------------------- < Scripting Events > ------------------------------------
|
||||
|
||||
export namespace ScriptingRequest {
|
||||
export const type = new RequestType<types.ScriptingParams, data.ScriptingResult, void, void>('scripting/script');
|
||||
}
|
||||
|
||||
// ------------------------------- < Scripting Complete Event > ------------------------------------
|
||||
|
||||
export namespace ScriptingCompleteNotification {
|
||||
export const type = new NotificationType<types.ScriptingCompleteParams, void>('scripting/scriptComplete');
|
||||
}
|
||||
|
||||
|
||||
// Edit Data ======================================================================================
|
||||
// Shared Interfaces --------------------------------------------------------------------------
|
||||
export interface EditSessionOperationParams {
|
||||
ownerUri: string;
|
||||
}
|
||||
|
||||
export interface EditRowOperationParams extends EditSessionOperationParams {
|
||||
rowId: number;
|
||||
}
|
||||
|
||||
export interface EditCellResult {
|
||||
cell: data.EditCell;
|
||||
isRowDirty: boolean;
|
||||
}
|
||||
|
||||
// edit/commit --------------------------------------------------------------------------------
|
||||
export namespace EditCommitRequest {
|
||||
export const type = new RequestType<data.EditCommitParams, EditCommitResult, void, void>('edit/commit');
|
||||
}
|
||||
|
||||
export interface EditCommitResult { }
|
||||
|
||||
// edit/createRow -----------------------------------------------------------------------------
|
||||
export namespace EditCreateRowRequest {
|
||||
export const type = new RequestType<data.EditCreateRowParams, data.EditCreateRowResult, void, void>('edit/createRow');
|
||||
}
|
||||
|
||||
// edit/deleteRow -----------------------------------------------------------------------------
|
||||
export namespace EditDeleteRowRequest {
|
||||
export const type = new RequestType<data.EditDeleteRowParams, EditDeleteRowResult, void, void>('edit/deleteRow');
|
||||
}
|
||||
|
||||
export interface EditDeleteRowResult { }
|
||||
|
||||
// edit/dispose -------------------------------------------------------------------------------
|
||||
export namespace EditDisposeRequest {
|
||||
export const type = new RequestType<data.EditDisposeParams, EditDisposeResult, void, void>('edit/dispose');
|
||||
}
|
||||
|
||||
export interface EditDisposeResult { }
|
||||
|
||||
// edit/initialize ----------------------------------------------------------------------------
|
||||
export namespace EditInitializeRequest {
|
||||
export const type = new RequestType<data.EditInitializeParams, EditInitializeResult, void, void>('edit/initialize');
|
||||
}
|
||||
|
||||
export interface EditInitializeResult { }
|
||||
|
||||
// edit/revertCell --------------------------------------------------------------------------------
|
||||
export namespace EditRevertCellRequest {
|
||||
export const type = new RequestType<data.EditRevertCellParams, data.EditRevertCellResult, void, void>('edit/revertCell');
|
||||
}
|
||||
|
||||
// edit/revertRow -----------------------------------------------------------------------------
|
||||
export namespace EditRevertRowRequest {
|
||||
export const type = new RequestType<data.EditRevertRowParams, EditRevertRowResult, void, void>('edit/revertRow');
|
||||
}
|
||||
|
||||
export interface EditRevertRowResult { }
|
||||
|
||||
// edit/sessionReady Event --------------------------------------------------------------------
|
||||
export namespace EditSessionReadyNotification {
|
||||
export const type = new NotificationType<data.EditSessionReadyParams, void>('edit/sessionReady');
|
||||
}
|
||||
|
||||
// edit/updateCell ----------------------------------------------------------------------------
|
||||
export namespace EditUpdateCellRequest {
|
||||
export const type = new RequestType<data.EditUpdateCellParams, data.EditUpdateCellResult, void, void>('edit/updateCell');
|
||||
}
|
||||
|
||||
// edit/subset ------------------------------------------------------------------------------------
|
||||
export namespace EditSubsetRequest {
|
||||
export const type = new RequestType<data.EditSubsetParams, data.EditSubsetResult, void, void>('edit/subset');
|
||||
}
|
||||
|
||||
// ------------------------------- < Object Explorer Events > ------------------------------------
|
||||
|
||||
export namespace ObjectExplorerCreateSessionRequest {
|
||||
export const type = new RequestType<types.ConnectionDetails, types.CreateSessionResponse, void, void>('objectexplorer/createsession');
|
||||
}
|
||||
|
||||
export namespace ObjectExplorerExpandRequest {
|
||||
export const type = new RequestType<types.ExpandParams, boolean, void, void>('objectexplorer/expand');
|
||||
}
|
||||
|
||||
export namespace ObjectExplorerRefreshRequest {
|
||||
export const type = new RequestType<types.ExpandParams, boolean, void, void>('objectexplorer/refresh');
|
||||
}
|
||||
|
||||
export namespace ObjectExplorerCloseSessionRequest {
|
||||
export const type = new RequestType<types.CloseSessionParams, types.CloseSessionResponse, void, void>('objectexplorer/closesession');
|
||||
}
|
||||
|
||||
// ------------------------------- < Object Explorer Events > ------------------------------------
|
||||
|
||||
|
||||
export namespace ObjectExplorerCreateSessionCompleteNotification {
|
||||
export const type = new NotificationType<types.SessionCreatedParameters, void>('objectexplorer/sessioncreated');
|
||||
}
|
||||
|
||||
export namespace ObjectExplorerExpandCompleteNotification {
|
||||
export const type = new NotificationType<types.ExpandResponse, void>('objectexplorer/expandCompleted');
|
||||
}
|
||||
|
||||
// ------------------------------- < Task Service Events > ------------------------------------
|
||||
|
||||
export namespace ListTasksRequest {
|
||||
export const type = new RequestType<data.ListTasksParams, data.ListTasksResponse, void, void>('tasks/listtasks');
|
||||
}
|
||||
|
||||
export namespace CancelTaskRequest {
|
||||
export const type = new RequestType<data.CancelTaskParams, boolean, void, void>('tasks/canceltask');
|
||||
}
|
||||
|
||||
// ------------------------------- < Task Service Events > ------------------------------------
|
||||
|
||||
|
||||
export namespace TaskStatusChangedNotification {
|
||||
export const type = new NotificationType<data.TaskProgressInfo, void>('tasks/statuschanged');
|
||||
}
|
||||
|
||||
export namespace TaskCreatedNotification {
|
||||
export const type = new NotificationType<data.TaskInfo, void>('tasks/newtaskcreated');
|
||||
}
|
||||
|
||||
// ------------------------------- < Admin Service Events > ------------------------------------
|
||||
|
||||
export namespace CreateDatabaseRequest {
|
||||
export const type = new RequestType<types.CreateDatabaseParams, data.CreateDatabaseResponse, void, void>('admin/createdatabase');
|
||||
}
|
||||
|
||||
export namespace DefaultDatabaseInfoRequest {
|
||||
export const type = new RequestType<types.DefaultDatabaseInfoParams, types.DefaultDatabaseInfoResponse, void, void>('admin/defaultdatabaseinfo');
|
||||
}
|
||||
|
||||
export namespace CreateLoginRequest {
|
||||
export const type = new RequestType<types.CreateLoginParams, data.CreateLoginResponse, void, void>('admin/createlogin');
|
||||
}
|
||||
|
||||
export namespace GetDatabaseInfoRequest {
|
||||
export const type = new RequestType<types.GetDatabaseInfoParams, types.GetDatabaseInfoResponse, void, void>('admin/getdatabaseinfo');
|
||||
}
|
||||
|
||||
// ------------------------------- < Disaster Recovery Events > ------------------------------------
|
||||
|
||||
export namespace BackupRequest {
|
||||
export const type = new RequestType<types.BackupParams, data.BackupResponse, void, void>('backup/backup');
|
||||
}
|
||||
|
||||
export namespace BackupConfigInfoRequest {
|
||||
export const type = new RequestType<types.DefaultDatabaseInfoParams, types.BackupConfigInfoResponse, void, void>('backup/backupconfiginfo');
|
||||
}
|
||||
|
||||
export namespace RestoreRequest {
|
||||
export const type = new RequestType<types.RestoreParams, data.RestoreResponse, void, void>('restore/restore');
|
||||
}
|
||||
|
||||
export namespace RestorePlanRequest {
|
||||
export const type = new RequestType<types.RestoreParams, data.RestorePlanResponse, void, void>('restore/restoreplan');
|
||||
}
|
||||
|
||||
export namespace CancelRestorePlanRequest {
|
||||
export const type = new RequestType<types.RestoreParams, boolean, void, void>('restore/cancelrestoreplan');
|
||||
}
|
||||
|
||||
export namespace RestoreConfigInfoRequest {
|
||||
export const type = new RequestType<types.RestoreConfigInfoRequestParams, types.RestoreConfigInfoResponse, void, void>('restore/restoreconfiginfo');
|
||||
}
|
||||
|
||||
// ------------------------------- < File Browser Events > ------------------------------------
|
||||
|
||||
export namespace FileBrowserOpenRequest {
|
||||
export const type = new RequestType<types.FileBrowserOpenParams, boolean, void, void>('filebrowser/open');
|
||||
}
|
||||
|
||||
export namespace FileBrowserOpenedNotification {
|
||||
export const type = new NotificationType<data.FileBrowserOpenedParams, void>('filebrowser/opencomplete');
|
||||
}
|
||||
|
||||
export namespace FileBrowserExpandRequest {
|
||||
export const type = new RequestType<types.FileBrowserExpandParams, boolean, void, void>('filebrowser/expand');
|
||||
}
|
||||
|
||||
export namespace FileBrowserExpandedNotification {
|
||||
export const type = new NotificationType<data.FileBrowserExpandedParams, void>('filebrowser/expandcomplete');
|
||||
}
|
||||
|
||||
export namespace FileBrowserValidateRequest {
|
||||
export const type = new RequestType<types.FileBrowserValidateParams, boolean, void, void>('filebrowser/validate');
|
||||
}
|
||||
|
||||
export namespace FileBrowserValidatedNotification {
|
||||
export const type = new NotificationType<data.FileBrowserValidatedParams, void>('filebrowser/validatecomplete');
|
||||
}
|
||||
|
||||
export namespace FileBrowserCloseRequest {
|
||||
export const type = new RequestType<types.FileBrowserCloseParams, data.FileBrowserCloseResponse, void, void>('filebrowser/close');
|
||||
}
|
||||
|
||||
|
||||
// ------------------------------- < Profiler Events > ------------------------------------
|
||||
|
||||
export namespace StartProfilingRequest {
|
||||
export const type = new RequestType<types.StartProfilingParams, types.StartProfilingResponse, void, void>('profiler/start');
|
||||
}
|
||||
|
||||
export namespace StopProfilingRequest {
|
||||
export const type = new RequestType<types.StopProfilingParams, types.StopProfilingResponse, void, void>('profiler/stop');
|
||||
}
|
||||
|
||||
export namespace ProfilerEventsAvailableNotification {
|
||||
export const type = new NotificationType<types.ProfilerEventsAvailableParams, void>('profiler/eventsavailable');
|
||||
}
|
||||
@@ -1,198 +0,0 @@
|
||||
import * as data from 'data';
|
||||
import * as types from './types';
|
||||
|
||||
export interface Ip2c {
|
||||
asProviderMetadata(params: types.MetadataQueryResult): data.ProviderMetadata;
|
||||
|
||||
asServerCapabilities(result: types.CapabiltiesDiscoveryResult): data.DataProtocolServerCapabilities;
|
||||
}
|
||||
|
||||
function asProviderMetadata(params: types.MetadataQueryResult): data.ProviderMetadata {
|
||||
let objectMetadata: data.ObjectMetadata[] = [];
|
||||
|
||||
if (!params.metadata || !params.metadata.length) {
|
||||
return {
|
||||
objectMetadata
|
||||
};
|
||||
}
|
||||
|
||||
for (let i = 0; i < params.metadata.length; ++i) {
|
||||
let metadata: data.ObjectMetadata = params.metadata[i];
|
||||
|
||||
let metadataTypeName: string;
|
||||
if (metadata.metadataTypeName) {
|
||||
// Read from the provider since it's defined
|
||||
metadataTypeName = metadata.metadataTypeName;
|
||||
} else if (metadata.metadataType === types.MetadataType.View) {
|
||||
metadataTypeName = 'View';
|
||||
} else if (metadata.metadataType === types.MetadataType.SProc) {
|
||||
metadataTypeName = 'StoredProcedure';
|
||||
} else if (metadata.metadataType === types.MetadataType.Function) {
|
||||
metadataTypeName = 'Function';
|
||||
} else {
|
||||
metadataTypeName = 'Table';
|
||||
}
|
||||
|
||||
objectMetadata.push({
|
||||
metadataTypeName,
|
||||
metadataType: metadata.metadataType,
|
||||
name: metadata.name,
|
||||
schema: metadata.schema,
|
||||
urn: metadata.urn
|
||||
});
|
||||
}
|
||||
|
||||
return <data.ProviderMetadata>{
|
||||
objectMetadata
|
||||
};
|
||||
}
|
||||
|
||||
function asServiceOptionType(val: string): data.ServiceOptionType {
|
||||
if (val === 'string') {
|
||||
return data.ServiceOptionType.string;
|
||||
} else if (val === 'multistring') {
|
||||
return data.ServiceOptionType.multistring;
|
||||
} else if (val === 'password') {
|
||||
return data.ServiceOptionType.password;
|
||||
} else if (val === 'number') {
|
||||
return data.ServiceOptionType.number;
|
||||
} else if (val === 'boolean') {
|
||||
return data.ServiceOptionType.boolean;
|
||||
} else if (val === 'category') {
|
||||
return data.ServiceOptionType.category;
|
||||
} else if (val === 'object') {
|
||||
return data.ServiceOptionType.object;
|
||||
}
|
||||
|
||||
// assume string for unknown value types
|
||||
return data.ServiceOptionType.string;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function buildServiceOption(srcOption: types.ServiceOption): data.ServiceOption {
|
||||
return {
|
||||
name: srcOption.name,
|
||||
displayName: srcOption.displayName ? srcOption.displayName : srcOption.name,
|
||||
description: srcOption.description,
|
||||
groupName: srcOption.groupName,
|
||||
defaultValue: srcOption.defaultValue,
|
||||
categoryValues: srcOption.categoryValues,
|
||||
isRequired: srcOption.isRequired,
|
||||
isArray: srcOption.isArray,
|
||||
objectType: srcOption.objectType,
|
||||
valueType: asServiceOptionType(srcOption.valueType),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
function asServerCapabilities(result: types.CapabiltiesDiscoveryResult): data.DataProtocolServerCapabilities {
|
||||
let capabilities: data.DataProtocolServerCapabilities = {
|
||||
protocolVersion: result.capabilities.protocolVersion,
|
||||
providerName: result.capabilities.providerName,
|
||||
providerDisplayName: result.capabilities.providerDisplayName,
|
||||
connectionProvider: undefined,
|
||||
adminServicesProvider: undefined,
|
||||
features: []
|
||||
};
|
||||
|
||||
if (result.capabilities.adminServicesProvider) {
|
||||
capabilities.adminServicesProvider = <data.AdminServicesOptions>{
|
||||
databaseInfoOptions: new Array<data.ServiceOption>(),
|
||||
databaseFileInfoOptions: new Array<data.ServiceOption>(),
|
||||
fileGroupInfoOptions: new Array<data.ServiceOption>()
|
||||
};
|
||||
|
||||
if (result.capabilities.adminServicesProvider.databaseInfoOptions
|
||||
&& result.capabilities.adminServicesProvider.databaseInfoOptions.length > 0) {
|
||||
for (let i = 0; i < result.capabilities.adminServicesProvider.databaseInfoOptions.length; ++i) {
|
||||
let srcOption: any = result.capabilities.adminServicesProvider.databaseInfoOptions[i];
|
||||
let descOption: data.ServiceOption = buildServiceOption(srcOption);
|
||||
capabilities.adminServicesProvider.databaseInfoOptions.push(descOption);
|
||||
}
|
||||
}
|
||||
|
||||
if (result.capabilities.adminServicesProvider.databaseFileInfoOptions
|
||||
&& result.capabilities.adminServicesProvider.databaseFileInfoOptions.length > 0) {
|
||||
for (let i = 0; i < result.capabilities.adminServicesProvider.databaseFileInfoOptions.length; ++i) {
|
||||
//let srcOption: types.ServiceOption = result.capabilities.adminServicesProvider.databaseFileInfoOptions[i];
|
||||
let srcOption: any = result.capabilities.adminServicesProvider.databaseFileInfoOptions[i];
|
||||
let descOption: data.ServiceOption = buildServiceOption(srcOption);
|
||||
capabilities.adminServicesProvider.databaseFileInfoOptions.push(descOption);
|
||||
}
|
||||
}
|
||||
|
||||
if (result.capabilities.adminServicesProvider.fileGroupInfoOptions
|
||||
&& result.capabilities.adminServicesProvider.fileGroupInfoOptions.length > 0) {
|
||||
for (let i = 0; i < result.capabilities.adminServicesProvider.fileGroupInfoOptions.length; ++i) {
|
||||
//let srcOption: types.ServiceOption = result.capabilities.adminServicesProvider.fileGroupInfoOptions[i];
|
||||
let srcOption: any = result.capabilities.adminServicesProvider.fileGroupInfoOptions[i];
|
||||
let descOption: data.ServiceOption = buildServiceOption(srcOption);
|
||||
capabilities.adminServicesProvider.fileGroupInfoOptions.push(descOption);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (result.capabilities.connectionProvider
|
||||
&& result.capabilities.connectionProvider.options
|
||||
&& result.capabilities.connectionProvider.options.length > 0) {
|
||||
capabilities.connectionProvider = <data.ConnectionProviderOptions>{
|
||||
options: new Array<data.ConnectionOption>()
|
||||
};
|
||||
for (let i = 0; i < result.capabilities.connectionProvider.options.length; ++i) {
|
||||
let srcOption: any = result.capabilities.connectionProvider.options[i];
|
||||
let descOption: data.ConnectionOption = {
|
||||
name: srcOption.name,
|
||||
displayName: srcOption.displayName ? srcOption.displayName : srcOption.name,
|
||||
description: srcOption.description,
|
||||
groupName: srcOption.groupName,
|
||||
defaultValue: srcOption.defaultValue,
|
||||
categoryValues: srcOption.categoryValues,
|
||||
isIdentity: srcOption.isIdentity,
|
||||
isRequired: srcOption.isRequired,
|
||||
valueType: asServiceOptionType(srcOption.valueType),
|
||||
specialValueType: undefined
|
||||
};
|
||||
|
||||
if (srcOption.specialValueType === 'serverName') {
|
||||
descOption.specialValueType = data.ConnectionOptionSpecialType.serverName;
|
||||
} else if (srcOption.specialValueType === 'databaseName') {
|
||||
descOption.specialValueType = data.ConnectionOptionSpecialType.databaseName;
|
||||
} else if (srcOption.specialValueType === 'authType') {
|
||||
descOption.specialValueType = data.ConnectionOptionSpecialType.authType;
|
||||
} else if (srcOption.specialValueType === 'userName') {
|
||||
descOption.specialValueType = data.ConnectionOptionSpecialType.userName;
|
||||
} else if (srcOption.specialValueType === 'password') {
|
||||
descOption.specialValueType = data.ConnectionOptionSpecialType.password;
|
||||
} else if (srcOption.specialValueType === 'appName') {
|
||||
descOption.specialValueType = data.ConnectionOptionSpecialType.appName;
|
||||
}
|
||||
|
||||
capabilities.connectionProvider.options.push(descOption);
|
||||
}
|
||||
}
|
||||
|
||||
if (result.capabilities.features
|
||||
&& result.capabilities.features.length > 0) {
|
||||
result.capabilities.features.forEach(feature => {
|
||||
let descFeature: data.FeatureMetadataProvider = {
|
||||
enabled: feature.enabled,
|
||||
featureName: feature.featureName,
|
||||
optionsMetadata: []
|
||||
};
|
||||
capabilities.features.push(descFeature);
|
||||
if (feature.optionsMetadata) {
|
||||
feature.optionsMetadata.forEach(srcOption => {
|
||||
descFeature.optionsMetadata.push(buildServiceOption(<any>srcOption));
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return capabilities;
|
||||
}
|
||||
|
||||
export const p2c: Ip2c = {
|
||||
asProviderMetadata,
|
||||
asServerCapabilities
|
||||
};
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es6",
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"sourceMap": false,
|
||||
"inlineSources": false,
|
||||
"declaration": true,
|
||||
"stripInternal": true,
|
||||
"outDir": "../lib"
|
||||
}
|
||||
}
|
||||
@@ -1,939 +0,0 @@
|
||||
import * as data from 'data';
|
||||
|
||||
export interface CreateSessionResponse {
|
||||
sessionId: string;
|
||||
}
|
||||
|
||||
export interface SessionCreatedParameters {
|
||||
success: boolean;
|
||||
sessionId: string;
|
||||
rootNode: NodeInfo;
|
||||
errorMessage: string;
|
||||
}
|
||||
|
||||
export interface ExpandResponse {
|
||||
nodePath: string;
|
||||
sessionId: string;
|
||||
nodes: NodeInfo[];
|
||||
errorMessage: string;
|
||||
}
|
||||
|
||||
export interface NodeInfo {
|
||||
nodePath: string;
|
||||
nodeType: string;
|
||||
nodeSubType: string;
|
||||
nodeStatus: string;
|
||||
label: string;
|
||||
isLeaf: boolean;
|
||||
metadata: data.ObjectMetadata;
|
||||
errorMessage: string;
|
||||
}
|
||||
|
||||
export interface ExpandParams {
|
||||
sessionId: string;
|
||||
nodePath: string;
|
||||
}
|
||||
|
||||
export interface CloseSessionParams {
|
||||
sessionId: string;
|
||||
}
|
||||
|
||||
export interface CloseSessionResponse {
|
||||
success: boolean;
|
||||
sessionId: string;
|
||||
}
|
||||
|
||||
export interface CategoryValue {
|
||||
displayName: string;
|
||||
|
||||
name: string;
|
||||
}
|
||||
|
||||
export interface ServiceOption {
|
||||
name: string;
|
||||
|
||||
displayName: string;
|
||||
|
||||
description: string;
|
||||
|
||||
groupName: string;
|
||||
|
||||
valueType: string;
|
||||
|
||||
defaultValue: string;
|
||||
|
||||
objectType: string;
|
||||
|
||||
categoryValues: CategoryValue[];
|
||||
|
||||
isRequired: boolean;
|
||||
|
||||
isArray: boolean;
|
||||
}
|
||||
|
||||
export interface ConnectionOption {
|
||||
name: string;
|
||||
|
||||
displayName: string;
|
||||
|
||||
description: string;
|
||||
|
||||
groupName: string;
|
||||
|
||||
valueType: string;
|
||||
|
||||
defaultValue: string;
|
||||
|
||||
objectType: string;
|
||||
|
||||
categoryValues: CategoryValue[];
|
||||
|
||||
specialValueType: string;
|
||||
|
||||
isIdentity: boolean;
|
||||
|
||||
isRequired: boolean;
|
||||
|
||||
isArray: boolean;
|
||||
}
|
||||
|
||||
export interface ConnectionProviderOptions {
|
||||
options: ConnectionOption[];
|
||||
}
|
||||
|
||||
export interface AdminServicesProviderOptions {
|
||||
databaseInfoOptions: ServiceOption[];
|
||||
|
||||
databaseFileInfoOptions: ServiceOption[];
|
||||
|
||||
fileGroupInfoOptions: ServiceOption[];
|
||||
}
|
||||
|
||||
export interface FeatureMetadataProvider {
|
||||
enabled: boolean;
|
||||
featureName: string;
|
||||
optionsMetadata: ServiceOption[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Parameters to initialize a connection to a database
|
||||
*/
|
||||
export interface ConnectionDetails {
|
||||
|
||||
/**
|
||||
* connection options
|
||||
*/
|
||||
options: {};
|
||||
}
|
||||
|
||||
/**
|
||||
* Summary that identifies a unique database connection.
|
||||
*/
|
||||
export class ConnectionSummary {
|
||||
/**
|
||||
* server name
|
||||
*/
|
||||
public serverName: string;
|
||||
|
||||
/**
|
||||
* database name
|
||||
*/
|
||||
public databaseName: string;
|
||||
|
||||
/**
|
||||
* user name
|
||||
*/
|
||||
public userName: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Connection response format.
|
||||
*/
|
||||
export class ConnectionCompleteParams {
|
||||
/**
|
||||
* URI identifying the owner of the connection
|
||||
*/
|
||||
public ownerUri: string;
|
||||
|
||||
/**
|
||||
* connection id returned from service host.
|
||||
*/
|
||||
public connectionId: string;
|
||||
|
||||
/**
|
||||
* any diagnostic messages return from the service host.
|
||||
*/
|
||||
public messages: string;
|
||||
|
||||
/**
|
||||
* Error message returned from the engine, if any.
|
||||
*/
|
||||
public errorMessage: string;
|
||||
|
||||
/**
|
||||
* Error number returned from the engine, if any.
|
||||
*/
|
||||
public errorNumber: number;
|
||||
|
||||
/**
|
||||
* Information about the connected server.
|
||||
*/
|
||||
public serverInfo: ServerInfo;
|
||||
|
||||
/**
|
||||
* information about the actual connection established
|
||||
*/
|
||||
public connectionSummary: ConnectionSummary;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update event parameters
|
||||
*/
|
||||
export class IntelliSenseReadyParams {
|
||||
/**
|
||||
* URI identifying the text document
|
||||
*/
|
||||
public ownerUri: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Information about a SQL Server instance.
|
||||
*/
|
||||
export class ServerInfo {
|
||||
/**
|
||||
* The major version of the SQL Server instance.
|
||||
*/
|
||||
public serverMajorVersion: number;
|
||||
|
||||
/**
|
||||
* The minor version of the SQL Server instance.
|
||||
*/
|
||||
public serverMinorVersion: number;
|
||||
|
||||
/**
|
||||
* The build of the SQL Server instance.
|
||||
*/
|
||||
public serverReleaseVersion: number;
|
||||
|
||||
/**
|
||||
* The ID of the engine edition of the SQL Server instance.
|
||||
*/
|
||||
public engineEditionId: number;
|
||||
|
||||
/**
|
||||
* String containing the full server version text.
|
||||
*/
|
||||
public serverVersion: string;
|
||||
|
||||
/**
|
||||
* String describing the product level of the server.
|
||||
*/
|
||||
public serverLevel: string;
|
||||
|
||||
/**
|
||||
* The edition of the SQL Server instance.
|
||||
*/
|
||||
public serverEdition: string;
|
||||
|
||||
/**
|
||||
* Whether the SQL Server instance is running in the cloud (Azure) or not.
|
||||
*/
|
||||
public isCloud: boolean;
|
||||
|
||||
/**
|
||||
* The version of Azure that the SQL Server instance is running on, if applicable.
|
||||
*/
|
||||
public azureVersion: number;
|
||||
|
||||
/**
|
||||
* The Operating System version string of the machine running the SQL Server instance.
|
||||
*/
|
||||
public osVersion: string;
|
||||
}
|
||||
|
||||
export class CapabiltiesDiscoveryResult {
|
||||
public capabilities: data.DataProtocolServerCapabilities;
|
||||
}
|
||||
|
||||
// Task Services types
|
||||
|
||||
export enum TaskStatus {
|
||||
notStarted = 0,
|
||||
inProgress = 1,
|
||||
succeeded = 2,
|
||||
succeededWithWarning = 3,
|
||||
failed = 4,
|
||||
canceled = 5
|
||||
}
|
||||
|
||||
// Admin Services types
|
||||
|
||||
export interface CreateDatabaseParams {
|
||||
ownerUri: string;
|
||||
|
||||
databaseInfo: data.DatabaseInfo;
|
||||
}
|
||||
|
||||
export interface DefaultDatabaseInfoParams {
|
||||
ownerUri: string;
|
||||
}
|
||||
|
||||
export interface DefaultDatabaseInfoResponse {
|
||||
defaultDatabaseInfo: data.DatabaseInfo;
|
||||
}
|
||||
|
||||
export interface GetDatabaseInfoResponse {
|
||||
databaseInfo: data.DatabaseInfo;
|
||||
}
|
||||
|
||||
export interface GetDatabaseInfoParams {
|
||||
ownerUri: string;
|
||||
}
|
||||
|
||||
export interface BackupConfigInfoResponse {
|
||||
backupConfigInfo: data.BackupConfigInfo;
|
||||
}
|
||||
|
||||
export interface CreateLoginParams {
|
||||
ownerUri: string;
|
||||
|
||||
loginInfo: data.LoginInfo;
|
||||
}
|
||||
|
||||
// Disaster Recovery types
|
||||
|
||||
export interface BackupInfo {
|
||||
ownerUri: string;
|
||||
|
||||
databaseName: string;
|
||||
|
||||
backupType: number;
|
||||
|
||||
backupComponent: number;
|
||||
|
||||
backupDeviceType: number;
|
||||
|
||||
selectedFiles: string;
|
||||
|
||||
backupsetName: string;
|
||||
|
||||
selectedFileGroup: { [path: string]: string };
|
||||
|
||||
// List of {key: backup path, value: device type}
|
||||
backupPathDevices: { [path: string]: number };
|
||||
|
||||
backupPathList: [string];
|
||||
|
||||
isCopyOnly: boolean;
|
||||
|
||||
formatMedia: boolean;
|
||||
|
||||
initialize: boolean;
|
||||
|
||||
skipTapeHeader: boolean;
|
||||
|
||||
mediaName: string;
|
||||
|
||||
mediaDescription: string;
|
||||
|
||||
checksum: boolean;
|
||||
|
||||
continueAfterError: boolean;
|
||||
|
||||
logTruncation: boolean;
|
||||
|
||||
tailLogBackup: boolean;
|
||||
|
||||
retainDays: number;
|
||||
|
||||
compressionOption: number;
|
||||
|
||||
verifyBackupRequired: boolean;
|
||||
|
||||
encryptionAlgorithm: number;
|
||||
|
||||
encryptorType: number;
|
||||
|
||||
encryptorName: string;
|
||||
}
|
||||
|
||||
export interface BackupParams {
|
||||
ownerUri: string;
|
||||
|
||||
backupInfo: BackupInfo;
|
||||
|
||||
taskExecutionMode: data.TaskExecutionMode;
|
||||
}
|
||||
|
||||
export interface RestoreParams {
|
||||
ownerUri: string;
|
||||
options: {};
|
||||
taskExecutionMode: data.TaskExecutionMode;
|
||||
}
|
||||
|
||||
export interface RestoreConfigInfoRequestParams {
|
||||
ownerUri: string;
|
||||
}
|
||||
|
||||
export interface RestoreConfigInfoResponse {
|
||||
configInfo: { [key: string]: any };
|
||||
}
|
||||
|
||||
export interface RestoreDatabaseFileInfo {
|
||||
fileType: string;
|
||||
|
||||
logicalFileName: string;
|
||||
|
||||
originalFileName: string;
|
||||
|
||||
restoreAsFileName: string;
|
||||
}
|
||||
|
||||
export interface FileBrowserOpenParams {
|
||||
ownerUri: string;
|
||||
expandPath: string;
|
||||
fileFilters: string[];
|
||||
changeFilter: boolean;
|
||||
}
|
||||
|
||||
export interface FileTreeNode {
|
||||
children: FileTreeNode[];
|
||||
isExpanded: boolean;
|
||||
isFile: boolean;
|
||||
name: string;
|
||||
fullPath: string;
|
||||
}
|
||||
|
||||
export interface FileTree {
|
||||
rootNode: FileTreeNode;
|
||||
selectedNode: FileTreeNode;
|
||||
}
|
||||
|
||||
export interface FileBrowserExpandParams {
|
||||
ownerUri: string;
|
||||
expandPath: string;
|
||||
}
|
||||
|
||||
export interface FileBrowserValidateParams {
|
||||
ownerUri: string;
|
||||
serviceType: string;
|
||||
selectedFiles: string[];
|
||||
}
|
||||
|
||||
export interface FileBrowserCloseParams {
|
||||
ownerUri: string;
|
||||
}
|
||||
|
||||
export interface DatabaseFileInfo {
|
||||
properties: LocalizedPropertyInfo[];
|
||||
id: string;
|
||||
isSelected: boolean;
|
||||
}
|
||||
|
||||
export interface LocalizedPropertyInfo {
|
||||
propertyName: string;
|
||||
propertyValue: string;
|
||||
propertyDisplayName: string;
|
||||
propertyValueDisplayName: string;
|
||||
}
|
||||
|
||||
export interface RestorePlanDetailInfo {
|
||||
name: string;
|
||||
currentValue: any;
|
||||
isReadOnly: boolean;
|
||||
isVisible: boolean;
|
||||
defaultValue: any;
|
||||
|
||||
}
|
||||
|
||||
// Query Execution types
|
||||
export interface ResultSetSummary {
|
||||
id: number;
|
||||
batchId: number;
|
||||
rowCount: number;
|
||||
columnInfo: IDbColumn[];
|
||||
}
|
||||
|
||||
export interface BatchSummary {
|
||||
hasError: boolean;
|
||||
id: number;
|
||||
selection: data.ISelectionData;
|
||||
resultSetSummaries: ResultSetSummary[];
|
||||
executionElapsed: string;
|
||||
executionEnd: string;
|
||||
executionStart: string;
|
||||
}
|
||||
|
||||
export interface IDbColumn {
|
||||
allowDBNull?: boolean;
|
||||
baseCatalogName: string;
|
||||
baseColumnName: string;
|
||||
baseSchemaName: string;
|
||||
baseServerName: string;
|
||||
baseTableName: string;
|
||||
columnName: string;
|
||||
columnOrdinal?: number;
|
||||
columnSize?: number;
|
||||
isAliased?: boolean;
|
||||
isAutoIncrement?: boolean;
|
||||
isExpression?: boolean;
|
||||
isHidden?: boolean;
|
||||
isIdentity?: boolean;
|
||||
isKey?: boolean;
|
||||
isBytes?: boolean;
|
||||
isChars?: boolean;
|
||||
isSqlVariant?: boolean;
|
||||
isUdt?: boolean;
|
||||
dataType: string;
|
||||
isXml?: boolean;
|
||||
isJson?: boolean;
|
||||
isLong?: boolean;
|
||||
isReadOnly?: boolean;
|
||||
isUnique?: boolean;
|
||||
numericPrecision?: number;
|
||||
numericScale?: number;
|
||||
udtAssemblyQualifiedName: string;
|
||||
dataTypeName: string;
|
||||
}
|
||||
|
||||
export interface IGridResultSet {
|
||||
columns: IDbColumn[];
|
||||
rowsUri: string;
|
||||
numberOfRows: number;
|
||||
}
|
||||
|
||||
export interface IResultMessage {
|
||||
batchId?: number;
|
||||
isError: boolean;
|
||||
time: string;
|
||||
message: string;
|
||||
}
|
||||
|
||||
export interface ExecutionPlanOptions {
|
||||
includeEstimatedExecutionPlanXml?: boolean;
|
||||
includeActualExecutionPlanXml?: boolean;
|
||||
}
|
||||
|
||||
export interface QueryExecuteParams {
|
||||
ownerUri: string;
|
||||
querySelection: data.ISelectionData;
|
||||
executionPlanOptions?: ExecutionPlanOptions;
|
||||
}
|
||||
|
||||
export enum EditRowState {
|
||||
clean = 0,
|
||||
dirtyInsert = 1,
|
||||
dirtyDelete = 2,
|
||||
dirtyUpdate = 3
|
||||
}
|
||||
|
||||
export interface EditRow {
|
||||
cells: data.DbCellValue[];
|
||||
id: number;
|
||||
isDirty: boolean;
|
||||
state: EditRowState;
|
||||
}
|
||||
|
||||
export class MetadataQueryParams {
|
||||
/**
|
||||
* Owner URI of the connection that changed.
|
||||
*/
|
||||
public ownerUri: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Used as value version of data.MetadataType THESE SHOULD MIRROR
|
||||
*/
|
||||
export enum MetadataType {
|
||||
Table = 0,
|
||||
View = 1,
|
||||
SProc = 2,
|
||||
Function = 3
|
||||
}
|
||||
|
||||
export class MetadataQueryResult {
|
||||
public metadata: data.ObjectMetadata[];
|
||||
}
|
||||
|
||||
export interface ScriptOptions {
|
||||
/**
|
||||
* Generate ANSI padding statements
|
||||
*/
|
||||
scriptANSIPadding?: boolean;
|
||||
|
||||
/**
|
||||
* Append the generated script to a file
|
||||
*/
|
||||
appendToFile?: boolean;
|
||||
|
||||
/**
|
||||
* Continue to script if an error occurs. Otherwise, stop.
|
||||
*/
|
||||
continueScriptingOnError?: boolean;
|
||||
|
||||
/**
|
||||
* Convert user-defined data types to base types.
|
||||
*/
|
||||
convertUDDTToBaseType?: boolean;
|
||||
|
||||
/**
|
||||
* Generate script for dependent objects for each object scripted.
|
||||
*/
|
||||
generateScriptForDependentObjects?: boolean;
|
||||
|
||||
/**
|
||||
* Include descriptive headers for each object generated.
|
||||
*/
|
||||
includeDescriptiveHeaders?: boolean;
|
||||
|
||||
/**
|
||||
* Check that an object with the given name exists before dropping or altering or that an object with the given name does not exist before creating.
|
||||
*/
|
||||
includeIfNotExists?: boolean;
|
||||
|
||||
/**
|
||||
* Script options to set vardecimal storage format.
|
||||
*/
|
||||
includeVarDecimal?: boolean;
|
||||
|
||||
/**
|
||||
* Include system generated constraint names to enforce declarative referential integrity.
|
||||
*/
|
||||
scriptDRIIncludeSystemNames?: boolean;
|
||||
|
||||
/**
|
||||
* Include statements in the script that are not supported on the specified SQL Server database engine type.
|
||||
*/
|
||||
includeUnsupportedStatements?: boolean;
|
||||
|
||||
/**
|
||||
* Prefix object names with the object schema.
|
||||
*/
|
||||
schemaQualify?: boolean;
|
||||
|
||||
/**
|
||||
* Script options to set bindings option.
|
||||
*/
|
||||
bindings?: boolean;
|
||||
|
||||
/**
|
||||
* Script the objects that use collation.
|
||||
*/
|
||||
collation?: boolean;
|
||||
|
||||
/**
|
||||
* Script the default values.
|
||||
*/
|
||||
default?: boolean;
|
||||
|
||||
/**
|
||||
* Script Object CREATE/DROP statements.
|
||||
*/
|
||||
scriptCreateDrop: string;
|
||||
|
||||
/**
|
||||
* Script the Extended Properties for each object scripted.
|
||||
*/
|
||||
scriptExtendedProperties?: boolean;
|
||||
|
||||
/**
|
||||
* Script only features compatible with the specified version of SQL Server.
|
||||
*/
|
||||
scriptCompatibilityOption: string;
|
||||
|
||||
/**
|
||||
* Script only features compatible with the specified SQL Server database engine type.
|
||||
*/
|
||||
targetDatabaseEngineType: string;
|
||||
|
||||
/**
|
||||
* Script only features compatible with the specified SQL Server database engine edition.
|
||||
*/
|
||||
targetDatabaseEngineEdition: string;
|
||||
|
||||
/**
|
||||
* Script all logins available on the server. Passwords will not be scripted.
|
||||
*/
|
||||
scriptLogins?: boolean;
|
||||
|
||||
/**
|
||||
* Generate object-level permissions.
|
||||
*/
|
||||
scriptObjectLevelPermissions?: boolean;
|
||||
|
||||
/**
|
||||
* Script owner for the objects.
|
||||
*/
|
||||
scriptOwner?: boolean;
|
||||
|
||||
/**
|
||||
* Script statistics, and optionally include histograms, for each selected table or view.
|
||||
*/
|
||||
scriptStatistics: string;
|
||||
|
||||
/**
|
||||
* Generate USE DATABASE statement.
|
||||
*/
|
||||
scripUseDatabase?: boolean;
|
||||
|
||||
/**
|
||||
* Generate script that contains schema only or schema and data.
|
||||
*/
|
||||
typeOfDataToScript: string;
|
||||
|
||||
/**
|
||||
* Scripts the change tracking information.
|
||||
*/
|
||||
scriptChangeTracking?: boolean;
|
||||
|
||||
/**
|
||||
* Script the check constraints for each table or view scripted.
|
||||
*/
|
||||
scriptCheckConstraints?: boolean;
|
||||
|
||||
/**
|
||||
* Scripts the data compression information.
|
||||
*/
|
||||
scriptDataCompressionOptions?: boolean;
|
||||
|
||||
/**
|
||||
* Script the foreign keys for each table scripted.
|
||||
*/
|
||||
scriptForeignKeys?: boolean;
|
||||
|
||||
/**
|
||||
* Script the full-text indexes for each table or indexed view scripted.
|
||||
*/
|
||||
scriptFullTextIndexes?: boolean;
|
||||
|
||||
/**
|
||||
* Script the indexes (including XML and clustered indexes) for each table or indexed view scripted.
|
||||
*/
|
||||
scriptIndexes?: boolean;
|
||||
|
||||
/**
|
||||
* Script the primary keys for each table or view scripted
|
||||
*/
|
||||
scriptPrimaryKeys?: boolean;
|
||||
|
||||
/**
|
||||
* Script the triggers for each table or view scripted
|
||||
*/
|
||||
scriptTriggers?: boolean;
|
||||
|
||||
/**
|
||||
* Script the unique keys for each table or view scripted.
|
||||
*/
|
||||
uniqueKeys?: boolean;
|
||||
}
|
||||
|
||||
export interface ScriptingObject {
|
||||
/**
|
||||
* The database object type
|
||||
*/
|
||||
type: string;
|
||||
|
||||
/**
|
||||
* The schema of the database object
|
||||
*/
|
||||
schema: string;
|
||||
|
||||
/**
|
||||
* The database object name
|
||||
*/
|
||||
name: string;
|
||||
}
|
||||
|
||||
export interface ScriptingParams {
|
||||
/**
|
||||
* File path used when writing out the script.
|
||||
*/
|
||||
filePath: string;
|
||||
|
||||
/**
|
||||
* Whether scripting to a single file or file per object.
|
||||
*/
|
||||
scriptDestination: string;
|
||||
|
||||
/**
|
||||
* Connection string of the target database the scripting operation will run against.
|
||||
*/
|
||||
connectionString: string;
|
||||
|
||||
/**
|
||||
* A list of scripting objects to script
|
||||
*/
|
||||
scriptingObjects: ScriptingObject[];
|
||||
|
||||
/**
|
||||
* A list of scripting object which specify the include criteria of objects to script.
|
||||
*/
|
||||
includeObjectCriteria: ScriptingObject[];
|
||||
|
||||
/**
|
||||
* A list of scripting object which specify the exclude criteria of objects to not script.
|
||||
*/
|
||||
excludeObjectCriteria: ScriptingObject[];
|
||||
|
||||
/**
|
||||
* A list of schema name of objects to script.
|
||||
*/
|
||||
includeSchemas: string[];
|
||||
|
||||
/**
|
||||
* A list of schema name of objects to not script.
|
||||
*/
|
||||
excludeSchemas: string[];
|
||||
|
||||
/**
|
||||
* A list of type name of objects to script.
|
||||
*/
|
||||
includeTypes: string[];
|
||||
|
||||
/**
|
||||
* A list of type name of objects to not script.
|
||||
*/
|
||||
excludeTypes: string[];
|
||||
|
||||
/**
|
||||
* Scripting options for the ScriptingParams
|
||||
*/
|
||||
scriptOptions: ScriptOptions;
|
||||
|
||||
/**
|
||||
* Connection details for the ScriptingParams
|
||||
*/
|
||||
connectionDetails: ConnectionDetails;
|
||||
|
||||
/**
|
||||
* Owner URI of the connection
|
||||
*/
|
||||
ownerURI: string;
|
||||
|
||||
/**
|
||||
* Whether the scripting operation is for
|
||||
* select script statements
|
||||
*/
|
||||
selectScript: boolean;
|
||||
|
||||
/**
|
||||
* Operation associated with the script request
|
||||
*/
|
||||
operation: data.ScriptOperation;
|
||||
}
|
||||
|
||||
export interface ScriptingCompleteParams {
|
||||
/**
|
||||
* The error details for an error that occurred during the scripting operation.
|
||||
*/
|
||||
errorDetails: string;
|
||||
|
||||
/**
|
||||
* The error message for an error that occurred during the scripting operation.
|
||||
*/
|
||||
errorMessage: string;
|
||||
|
||||
/**
|
||||
* A value to indicate an error occurred during the scripting operation.
|
||||
*/
|
||||
hasError: boolean;
|
||||
|
||||
/**
|
||||
* A value to indicate the scripting operation was canceled.
|
||||
*/
|
||||
canceled: boolean;
|
||||
|
||||
/**
|
||||
* A value to indicate the scripting operation successfully completed.
|
||||
*/
|
||||
success: boolean;
|
||||
}
|
||||
|
||||
export class TableMetadata {
|
||||
|
||||
columns: data.ColumnMetadata[];
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Parameters to start a profiler session
|
||||
*/
|
||||
export interface StartProfilingParams {
|
||||
/**
|
||||
* Session Owner URI
|
||||
*/
|
||||
ownerUri: string;
|
||||
|
||||
/**
|
||||
* Session options
|
||||
*/
|
||||
options: {};
|
||||
}
|
||||
|
||||
export interface StartProfilingResponse {
|
||||
succeeded: string;
|
||||
errorMessage: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parameters to start a profiler session
|
||||
*/
|
||||
export interface StopProfilingParams {
|
||||
/**
|
||||
* Session Owner URI
|
||||
*/
|
||||
ownerUri: string;
|
||||
}
|
||||
|
||||
export interface StopProfilingResponse {
|
||||
succeeded: string;
|
||||
errorMessage: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Profiler Event
|
||||
*/
|
||||
export interface ProfilerEvent {
|
||||
/**
|
||||
* Event class name
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* Event timestamp
|
||||
*/
|
||||
timestamp: string;
|
||||
|
||||
/**
|
||||
* Event values
|
||||
*/
|
||||
values: {};
|
||||
}
|
||||
|
||||
/**
|
||||
* Profiler events available notification parameters
|
||||
*/
|
||||
export interface ProfilerEventsAvailableParams {
|
||||
/**
|
||||
* Session owner URI
|
||||
*/
|
||||
ownerUri: string;
|
||||
|
||||
/**
|
||||
* New profiler events available
|
||||
*/
|
||||
events: ProfilerEvent[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Used as value version of data.ScriptOperation THESE SHOULD BE THE SAME
|
||||
*/
|
||||
export enum ScriptOperation {
|
||||
Select = 0,
|
||||
Create = 1,
|
||||
Insert = 2,
|
||||
Update = 3,
|
||||
Delete = 4,
|
||||
Execute = 5,
|
||||
Alter = 6
|
||||
}
|
||||
2
dataprotocol-client/src/typings/ref.d.ts
vendored
2
dataprotocol-client/src/typings/ref.d.ts
vendored
@@ -1,2 +0,0 @@
|
||||
|
||||
/// <reference path='../../../src/sql/data.d.ts'/>
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"tabSize": 4,
|
||||
"indentSize": 4,
|
||||
"newLineCharacter": "\n",
|
||||
"convertTabsToSpaces": false,
|
||||
"insertSpaceAfterCommaDelimiter": true,
|
||||
"insertSpaceAfterSemicolonInForStatements": true,
|
||||
"insertSpaceBeforeAndAfterBinaryOperators": true,
|
||||
"insertSpaceAfterKeywordsInControlFlowStatements": true,
|
||||
"insertSpaceAfterFunctionKeywordForAnonymousFunctions": true,
|
||||
"insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false,
|
||||
"insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false,
|
||||
"insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false,
|
||||
"insertSpaceBeforeFunctionParenthesis": false,
|
||||
"placeOpenBraceOnNewLineForFunctions": false,
|
||||
"placeOpenBraceOnNewLineForControlBlocks": false
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
||||
"version": "0.1.0",
|
||||
"description": "Shared modules for Carbon extensions",
|
||||
"dependencies": {
|
||||
"dataprotocol-client": "file:../dataprotocol-client",
|
||||
"dataprotocol-client": "git://github.com/Microsoft/sqlops-dataprotocolclient.git#release",
|
||||
"decompress": "^4.2.0",
|
||||
"fs-extra-promise": "^1.0.1",
|
||||
"http-proxy-agent": "^2.0.0",
|
||||
|
||||
@@ -353,6 +353,7 @@ export class SqlToolsServiceClient {
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this._serviceStatus.showServiceLoading();
|
||||
// cache the client instance for later use
|
||||
client = new SqlOpsDataClient(SqlToolsServiceClient._constants.serviceName, serverOptions, clientOptions);
|
||||
|
||||
2
extensions-modules/src/typings/ref.d.ts
vendored
2
extensions-modules/src/typings/ref.d.ts
vendored
@@ -4,4 +4,4 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
/// <reference path='../../../src/vs/vscode.d.ts'/>
|
||||
/// <reference path='../../../src/sql/data.d.ts'/>
|
||||
/// <reference path='../../../src/sql/sqlops.d.ts'/>
|
||||
@@ -25,12 +25,24 @@ amdefine@>=0.0.4:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
|
||||
|
||||
ansi-cyan@^0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873"
|
||||
dependencies:
|
||||
ansi-wrap "0.1.0"
|
||||
|
||||
ansi-gray@^0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251"
|
||||
dependencies:
|
||||
ansi-wrap "0.1.0"
|
||||
|
||||
ansi-red@^0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c"
|
||||
dependencies:
|
||||
ansi-wrap "0.1.0"
|
||||
|
||||
ansi-regex@^0.2.0, ansi-regex@^0.2.1:
|
||||
version "0.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9"
|
||||
@@ -55,6 +67,13 @@ applicationinsights@0.18.0:
|
||||
version "0.18.0"
|
||||
resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-0.18.0.tgz#162ebb48a383408bc4de44db32b417307f45bbc1"
|
||||
|
||||
arr-diff@^1.0.1:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a"
|
||||
dependencies:
|
||||
arr-flatten "^1.0.1"
|
||||
array-slice "^0.2.3"
|
||||
|
||||
arr-diff@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
|
||||
@@ -65,6 +84,10 @@ arr-flatten@^1.0.1:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
|
||||
|
||||
arr-union@^2.0.1:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz#20f9eab5ec70f5c7d215b1077b1c39161d292c7d"
|
||||
|
||||
array-differ@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
|
||||
@@ -73,6 +96,10 @@ array-find-index@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
|
||||
|
||||
array-slice@^0.2.3:
|
||||
version "0.2.3"
|
||||
resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
|
||||
|
||||
array-union@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
|
||||
@@ -186,6 +213,10 @@ braces@^1.8.2:
|
||||
preserve "^0.2.0"
|
||||
repeat-element "^1.1.2"
|
||||
|
||||
browser-stdout@1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f"
|
||||
|
||||
buffer-crc32@~0.2.3:
|
||||
version "0.2.13"
|
||||
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
|
||||
@@ -261,6 +292,10 @@ clone@^1.0.0:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.3.tgz#298d7e2231660f40c003c2ed3140decf3f53085f"
|
||||
|
||||
clone@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb"
|
||||
|
||||
cloneable-readable@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.0.0.tgz#a6290d413f217a61232f95e458ff38418cfb0117"
|
||||
@@ -287,10 +322,20 @@ commander@0.6.1:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-0.6.1.tgz#fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06"
|
||||
|
||||
commander@2.11.0:
|
||||
version "2.11.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563"
|
||||
|
||||
commander@2.3.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873"
|
||||
|
||||
commander@2.9.0:
|
||||
version "2.9.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
|
||||
dependencies:
|
||||
graceful-readlink ">= 1.0.0"
|
||||
|
||||
commander@^2.9.0:
|
||||
version "2.13.0"
|
||||
resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c"
|
||||
@@ -337,10 +382,12 @@ dashdash@^1.12.0:
|
||||
dependencies:
|
||||
assert-plus "^1.0.0"
|
||||
|
||||
"dataprotocol-client@file:../dataprotocol-client":
|
||||
"dataprotocol-client@git://github.com/Microsoft/sqlops-dataprotocolclient.git#release":
|
||||
version "1.0.0"
|
||||
resolved "git://github.com/Microsoft/sqlops-dataprotocolclient.git#739fdf93140c3cb1bc882076bf11765b187bf8a3"
|
||||
dependencies:
|
||||
typescript "2.6.2"
|
||||
sqlops "git://github.com/anthonydresser/vscode-extension-vscode"
|
||||
vscode "1.1.5"
|
||||
vscode-languageclient "3.5.0"
|
||||
|
||||
dateformat@^1.0.7-1.2.3:
|
||||
@@ -366,7 +413,13 @@ debug@2.2.0:
|
||||
dependencies:
|
||||
ms "0.7.1"
|
||||
|
||||
debug@^3.1.0:
|
||||
debug@2.6.8:
|
||||
version "2.6.8"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@3.1.0, debug@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
|
||||
dependencies:
|
||||
@@ -438,6 +491,14 @@ diff@1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf"
|
||||
|
||||
diff@3.2.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9"
|
||||
|
||||
diff@3.3.1:
|
||||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75"
|
||||
|
||||
duplexer2@0.0.2:
|
||||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
|
||||
@@ -489,7 +550,7 @@ escape-string-regexp@1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1"
|
||||
|
||||
escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2:
|
||||
escape-string-regexp@1.0.5, escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
|
||||
|
||||
@@ -529,6 +590,12 @@ expand-range@^1.8.1:
|
||||
dependencies:
|
||||
fill-range "^2.1.0"
|
||||
|
||||
extend-shallow@^1.1.2:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071"
|
||||
dependencies:
|
||||
kind-of "^1.1.0"
|
||||
|
||||
extend-shallow@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
|
||||
@@ -664,6 +731,15 @@ fs.realpath@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
||||
|
||||
fstream@^1.0.2:
|
||||
version "1.0.11"
|
||||
resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
|
||||
dependencies:
|
||||
graceful-fs "^4.1.2"
|
||||
inherits "~2.0.0"
|
||||
mkdirp ">=0.5 0"
|
||||
rimraf "2"
|
||||
|
||||
fstream@~0.1.28:
|
||||
version "0.1.31"
|
||||
resolved "https://registry.yarnpkg.com/fstream/-/fstream-0.1.31.tgz#7337f058fbbbbefa8c9f561a28cab0849202c988"
|
||||
@@ -740,17 +816,18 @@ glob@3.2.11:
|
||||
inherits "2"
|
||||
minimatch "0.3"
|
||||
|
||||
glob@^5.0.15, glob@^5.0.3:
|
||||
version "5.0.15"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
|
||||
glob@7.1.1:
|
||||
version "7.1.1"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
|
||||
dependencies:
|
||||
fs.realpath "^1.0.0"
|
||||
inflight "^1.0.4"
|
||||
inherits "2"
|
||||
minimatch "2 || 3"
|
||||
minimatch "^3.0.2"
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@^7.0.5:
|
||||
glob@7.1.2, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2:
|
||||
version "7.1.2"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
|
||||
dependencies:
|
||||
@@ -761,6 +838,16 @@ glob@^7.0.5:
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@^5.0.15, glob@^5.0.3:
|
||||
version "5.0.15"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
|
||||
dependencies:
|
||||
inflight "^1.0.4"
|
||||
inherits "2"
|
||||
minimatch "2 || 3"
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glogg@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.1.tgz#dcf758e44789cc3f3d32c1f3562a3676e6a34810"
|
||||
@@ -781,6 +868,10 @@ graceful-fs@~3.0.2:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
|
||||
|
||||
growl@1.10.3:
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f"
|
||||
|
||||
growl@1.9.2:
|
||||
version "1.9.2"
|
||||
resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f"
|
||||
@@ -793,6 +884,14 @@ gulp-chmod@^1.3.0:
|
||||
stat-mode "^0.2.0"
|
||||
through2 "^2.0.0"
|
||||
|
||||
gulp-chmod@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/gulp-chmod/-/gulp-chmod-2.0.0.tgz#00c390b928a0799b251accf631aa09e01cc6299c"
|
||||
dependencies:
|
||||
deep-assign "^1.0.0"
|
||||
stat-mode "^0.2.0"
|
||||
through2 "^2.0.0"
|
||||
|
||||
gulp-filter@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/gulp-filter/-/gulp-filter-4.0.0.tgz#395f58a256c559cdb9e0d157f1caaf5248a38dcb"
|
||||
@@ -801,6 +900,14 @@ gulp-filter@^4.0.0:
|
||||
multimatch "^2.0.0"
|
||||
streamfilter "^1.0.5"
|
||||
|
||||
gulp-filter@^5.0.0, gulp-filter@^5.0.1:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/gulp-filter/-/gulp-filter-5.1.0.tgz#a05e11affb07cf7dcf41a7de1cb7b63ac3783e73"
|
||||
dependencies:
|
||||
multimatch "^2.0.0"
|
||||
plugin-error "^0.1.2"
|
||||
streamfilter "^1.0.5"
|
||||
|
||||
gulp-gunzip@0.0.3:
|
||||
version "0.0.3"
|
||||
resolved "https://registry.yarnpkg.com/gulp-gunzip/-/gulp-gunzip-0.0.3.tgz#7b6e07b0f58fd3d42515c48ead5a63df0572f62f"
|
||||
@@ -808,7 +915,14 @@ gulp-gunzip@0.0.3:
|
||||
through2 "~0.6.5"
|
||||
vinyl "~0.4.6"
|
||||
|
||||
gulp-remote-src@^0.4.0:
|
||||
gulp-gunzip@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/gulp-gunzip/-/gulp-gunzip-1.0.0.tgz#15b741145e83a9c6f50886241b57cc5871f151a9"
|
||||
dependencies:
|
||||
through2 "~0.6.5"
|
||||
vinyl "~0.4.6"
|
||||
|
||||
gulp-remote-src@^0.4.0, gulp-remote-src@^0.4.2, gulp-remote-src@^0.4.3:
|
||||
version "0.4.3"
|
||||
resolved "https://registry.yarnpkg.com/gulp-remote-src/-/gulp-remote-src-0.4.3.tgz#5728cfd643433dd4845ddef0969f0f971a2ab4a1"
|
||||
dependencies:
|
||||
@@ -828,7 +942,7 @@ gulp-sourcemaps@1.6.0:
|
||||
through2 "^2.0.0"
|
||||
vinyl "^1.0.0"
|
||||
|
||||
gulp-symdest@^1.0.0:
|
||||
gulp-symdest@^1.0.0, gulp-symdest@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/gulp-symdest/-/gulp-symdest-1.1.0.tgz#c165320732d192ce56fd94271ffa123234bf2ae0"
|
||||
dependencies:
|
||||
@@ -847,7 +961,17 @@ gulp-untar@0.0.4:
|
||||
tar "~0.1.19"
|
||||
through2 "~0.4.1"
|
||||
|
||||
gulp-util@^3.0.6:
|
||||
gulp-untar@^0.0.6:
|
||||
version "0.0.6"
|
||||
resolved "https://registry.yarnpkg.com/gulp-untar/-/gulp-untar-0.0.6.tgz#d6bdefde7e9a8e054c9f162385a0782c4be74000"
|
||||
dependencies:
|
||||
event-stream "~3.3.4"
|
||||
gulp-util "~3.0.8"
|
||||
streamifier "~0.1.1"
|
||||
tar "^2.2.1"
|
||||
through2 "~2.0.3"
|
||||
|
||||
gulp-util@^3.0.6, gulp-util@~3.0.8:
|
||||
version "3.0.8"
|
||||
resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f"
|
||||
dependencies:
|
||||
@@ -883,7 +1007,7 @@ gulp-util@~2.2.14:
|
||||
through2 "^0.5.0"
|
||||
vinyl "^0.2.1"
|
||||
|
||||
gulp-vinyl-zip@^1.1.2:
|
||||
gulp-vinyl-zip@^1.1.2, gulp-vinyl-zip@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/gulp-vinyl-zip/-/gulp-vinyl-zip-1.4.0.tgz#56382f2ccb57231bb0478c78737ccd572973bee1"
|
||||
dependencies:
|
||||
@@ -895,6 +1019,18 @@ gulp-vinyl-zip@^1.1.2:
|
||||
yauzl "^2.2.1"
|
||||
yazl "^2.2.1"
|
||||
|
||||
gulp-vinyl-zip@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/gulp-vinyl-zip/-/gulp-vinyl-zip-2.1.0.tgz#24e40685dc05b7149995245099e0590263be8dad"
|
||||
dependencies:
|
||||
event-stream "^3.3.1"
|
||||
queue "^4.2.1"
|
||||
through2 "^2.0.3"
|
||||
vinyl "^2.0.2"
|
||||
vinyl-fs "^2.0.0"
|
||||
yauzl "^2.2.1"
|
||||
yazl "^2.2.1"
|
||||
|
||||
gulplog@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5"
|
||||
@@ -933,6 +1069,14 @@ has-ansi@^2.0.0:
|
||||
dependencies:
|
||||
ansi-regex "^2.0.0"
|
||||
|
||||
has-flag@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
|
||||
|
||||
has-flag@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
|
||||
|
||||
has-gulplog@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce"
|
||||
@@ -957,6 +1101,10 @@ hawk@~6.0.2:
|
||||
hoek "4.x.x"
|
||||
sntp "2.x.x"
|
||||
|
||||
he@1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
|
||||
|
||||
hoek@2.x.x:
|
||||
version "2.16.3"
|
||||
resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
|
||||
@@ -1182,6 +1330,10 @@ json-stringify-safe@~5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
|
||||
|
||||
json3@3.3.2:
|
||||
version "3.3.2"
|
||||
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
|
||||
|
||||
jsonfile@^2.1.0:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
|
||||
@@ -1205,6 +1357,10 @@ jsprim@^1.2.2:
|
||||
json-schema "0.2.3"
|
||||
verror "1.10.0"
|
||||
|
||||
kind-of@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44"
|
||||
|
||||
kind-of@^3.0.2:
|
||||
version "3.2.2"
|
||||
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
|
||||
@@ -1233,10 +1389,21 @@ load-json-file@^1.0.0:
|
||||
pinkie-promise "^2.0.0"
|
||||
strip-bom "^2.0.0"
|
||||
|
||||
lodash._baseassign@^3.0.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
|
||||
dependencies:
|
||||
lodash._basecopy "^3.0.0"
|
||||
lodash.keys "^3.0.0"
|
||||
|
||||
lodash._basecopy@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
|
||||
|
||||
lodash._basecreate@^3.0.0:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821"
|
||||
|
||||
lodash._basetostring@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5"
|
||||
@@ -1308,6 +1475,14 @@ lodash._shimkeys@~2.4.1:
|
||||
dependencies:
|
||||
lodash._objecttypes "~2.4.1"
|
||||
|
||||
lodash.create@3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7"
|
||||
dependencies:
|
||||
lodash._baseassign "^3.0.0"
|
||||
lodash._basecreate "^3.0.0"
|
||||
lodash._isiterateecall "^3.0.0"
|
||||
|
||||
lodash.defaults@~2.4.1:
|
||||
version "2.4.1"
|
||||
resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-2.4.1.tgz#a7e8885f05e68851144b6e12a8f3678026bc4c54"
|
||||
@@ -1494,7 +1669,7 @@ minimatch@0.3:
|
||||
lru-cache "2"
|
||||
sigmund "~1.0.0"
|
||||
|
||||
"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.4:
|
||||
"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
||||
dependencies:
|
||||
@@ -1516,7 +1691,7 @@ mkdirp@0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e"
|
||||
|
||||
mkdirp@0.5, mkdirp@0.5.1, mkdirp@^0.5.0, mkdirp@^0.5.1:
|
||||
mkdirp@0.5, mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1:
|
||||
version "0.5.1"
|
||||
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
|
||||
dependencies:
|
||||
@@ -1537,6 +1712,38 @@ mocha@^2.3.3:
|
||||
supports-color "1.2.0"
|
||||
to-iso-string "0.0.2"
|
||||
|
||||
mocha@^3.2.0:
|
||||
version "3.5.3"
|
||||
resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.5.3.tgz#1e0480fe36d2da5858d1eb6acc38418b26eaa20d"
|
||||
dependencies:
|
||||
browser-stdout "1.3.0"
|
||||
commander "2.9.0"
|
||||
debug "2.6.8"
|
||||
diff "3.2.0"
|
||||
escape-string-regexp "1.0.5"
|
||||
glob "7.1.1"
|
||||
growl "1.9.2"
|
||||
he "1.1.1"
|
||||
json3 "3.3.2"
|
||||
lodash.create "3.1.1"
|
||||
mkdirp "0.5.1"
|
||||
supports-color "3.1.2"
|
||||
|
||||
mocha@^4.0.1:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/mocha/-/mocha-4.1.0.tgz#7d86cfbcf35cb829e2754c32e17355ec05338794"
|
||||
dependencies:
|
||||
browser-stdout "1.3.0"
|
||||
commander "2.11.0"
|
||||
debug "3.1.0"
|
||||
diff "3.3.1"
|
||||
escape-string-regexp "1.0.5"
|
||||
glob "7.1.2"
|
||||
growl "1.10.3"
|
||||
he "1.1.1"
|
||||
mkdirp "0.5.1"
|
||||
supports-color "4.4.0"
|
||||
|
||||
ms@0.7.1:
|
||||
version "0.7.1"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
|
||||
@@ -1702,6 +1909,16 @@ pinkie@^2.0.0:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
|
||||
|
||||
plugin-error@^0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz#3b9bb3335ccf00f425e07437e19276967da47ace"
|
||||
dependencies:
|
||||
ansi-cyan "^0.1.1"
|
||||
ansi-red "^0.1.1"
|
||||
arr-diff "^1.0.1"
|
||||
arr-union "^2.0.1"
|
||||
extend-shallow "^1.1.2"
|
||||
|
||||
preserve@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
|
||||
@@ -1722,12 +1939,22 @@ qs@~6.5.1:
|
||||
version "6.5.1"
|
||||
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
|
||||
|
||||
querystringify@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb"
|
||||
|
||||
queue@^3.0.10, queue@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/queue/-/queue-3.1.0.tgz#6c49d01f009e2256788789f2bffac6b8b9990585"
|
||||
dependencies:
|
||||
inherits "~2.0.0"
|
||||
|
||||
queue@^4.2.1:
|
||||
version "4.4.2"
|
||||
resolved "https://registry.yarnpkg.com/queue/-/queue-4.4.2.tgz#5a9733d9a8b8bd1b36e934bc9c55ab89b28e29c7"
|
||||
dependencies:
|
||||
inherits "~2.0.0"
|
||||
|
||||
randomatic@^1.1.3:
|
||||
version "1.1.7"
|
||||
resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
|
||||
@@ -1819,7 +2046,7 @@ replace-ext@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
|
||||
|
||||
request@^2.67.0:
|
||||
request@^2.67.0, request@^2.79.0, request@^2.83.0:
|
||||
version "2.83.0"
|
||||
resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356"
|
||||
dependencies:
|
||||
@@ -1871,6 +2098,10 @@ request@~2.79.0:
|
||||
tunnel-agent "~0.4.1"
|
||||
uuid "^3.0.0"
|
||||
|
||||
requires-port@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
|
||||
|
||||
rimraf@2:
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
|
||||
@@ -1887,7 +2118,7 @@ seek-bzip@^1.0.5:
|
||||
dependencies:
|
||||
commander "~2.8.1"
|
||||
|
||||
"semver@2 || 3 || 4 || 5", semver@^5.1.0:
|
||||
"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.4.1:
|
||||
version "5.5.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
|
||||
|
||||
@@ -1917,12 +2148,32 @@ source-map-support@^0.3.2:
|
||||
dependencies:
|
||||
source-map "0.1.32"
|
||||
|
||||
source-map-support@^0.4.11:
|
||||
version "0.4.18"
|
||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
|
||||
dependencies:
|
||||
source-map "^0.5.6"
|
||||
|
||||
source-map-support@^0.5.0:
|
||||
version "0.5.3"
|
||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.3.tgz#2b3d5fff298cfa4d1afd7d4352d569e9a0158e76"
|
||||
dependencies:
|
||||
source-map "^0.6.0"
|
||||
|
||||
source-map@0.1.32:
|
||||
version "0.1.32"
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266"
|
||||
dependencies:
|
||||
amdefine ">=0.0.4"
|
||||
|
||||
source-map@^0.5.6:
|
||||
version "0.5.7"
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
|
||||
|
||||
source-map@^0.6.0:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
|
||||
|
||||
sparkles@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3"
|
||||
@@ -1953,6 +2204,25 @@ split@0.3:
|
||||
dependencies:
|
||||
through "2"
|
||||
|
||||
"sqlops@git://github.com/anthonydresser/vscode-extension-vscode":
|
||||
version "1.1.10"
|
||||
resolved "git://github.com/anthonydresser/vscode-extension-vscode#96cc0758d2528a33a12d73894a6d40c8bfb15ca1"
|
||||
dependencies:
|
||||
glob "^7.1.2"
|
||||
gulp-chmod "^2.0.0"
|
||||
gulp-filter "^5.0.1"
|
||||
gulp-gunzip "1.0.0"
|
||||
gulp-remote-src "^0.4.3"
|
||||
gulp-symdest "^1.1.0"
|
||||
gulp-untar "^0.0.6"
|
||||
gulp-vinyl-zip "^2.1.0"
|
||||
mocha "^4.0.1"
|
||||
request "^2.83.0"
|
||||
semver "^5.4.1"
|
||||
source-map-support "^0.5.0"
|
||||
url-parse "^1.1.9"
|
||||
vinyl-source-stream "^1.1.0"
|
||||
|
||||
sshpk@^1.7.0:
|
||||
version "1.13.1"
|
||||
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3"
|
||||
@@ -1987,7 +2257,7 @@ streamfilter@^1.0.5:
|
||||
dependencies:
|
||||
readable-stream "^2.0.2"
|
||||
|
||||
streamifier@~0.1.0:
|
||||
streamifier@~0.1.0, streamifier@~0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/streamifier/-/streamifier-0.1.1.tgz#97e98d8fa4d105d62a2691d1dc07e820db8dfc4f"
|
||||
|
||||
@@ -2046,6 +2316,18 @@ supports-color@1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e"
|
||||
|
||||
supports-color@3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5"
|
||||
dependencies:
|
||||
has-flag "^1.0.0"
|
||||
|
||||
supports-color@4.4.0:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e"
|
||||
dependencies:
|
||||
has-flag "^2.0.0"
|
||||
|
||||
supports-color@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a"
|
||||
@@ -2063,6 +2345,14 @@ tar-stream@^1.5.2:
|
||||
readable-stream "^2.0.0"
|
||||
xtend "^4.0.0"
|
||||
|
||||
tar@^2.2.1:
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
|
||||
dependencies:
|
||||
block-stream "*"
|
||||
fstream "^1.0.2"
|
||||
inherits "2"
|
||||
|
||||
tar@~0.1.19:
|
||||
version "0.1.20"
|
||||
resolved "https://registry.yarnpkg.com/tar/-/tar-0.1.20.tgz#42940bae5b5f22c74483699126f9f3f27449cb13"
|
||||
@@ -2154,10 +2444,6 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
|
||||
version "0.14.5"
|
||||
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
|
||||
|
||||
typescript@2.6.2:
|
||||
version "2.6.2"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.6.2.tgz#3c5b6fd7f6de0914269027f03c0946758f7673a4"
|
||||
|
||||
unbzip2-stream@^1.0.9:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz#73a033a567bbbde59654b193c44d48a7e4f43c47"
|
||||
@@ -2172,6 +2458,13 @@ unique-stream@^2.0.2:
|
||||
json-stable-stringify "^1.0.0"
|
||||
through2-filter "^2.0.0"
|
||||
|
||||
url-parse@^1.1.9:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.2.0.tgz#3a19e8aaa6d023ddd27dcc44cb4fc8f7fec23986"
|
||||
dependencies:
|
||||
querystringify "~1.0.0"
|
||||
requires-port "~1.0.0"
|
||||
|
||||
util-deprecate@~1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
|
||||
@@ -2257,6 +2550,17 @@ vinyl@^1.0.0:
|
||||
clone-stats "^0.0.1"
|
||||
replace-ext "0.0.1"
|
||||
|
||||
vinyl@^2.0.2:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.1.0.tgz#021f9c2cf951d6b939943c89eb5ee5add4fd924c"
|
||||
dependencies:
|
||||
clone "^2.1.1"
|
||||
clone-buffer "^1.0.0"
|
||||
clone-stats "^1.0.0"
|
||||
cloneable-readable "^1.0.0"
|
||||
remove-trailing-separator "^1.0.1"
|
||||
replace-ext "^1.0.0"
|
||||
|
||||
vinyl@~2.0.1:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.0.2.tgz#0a3713d8d4e9221c58f10ca16c0116c9e25eda7c"
|
||||
@@ -2315,6 +2619,25 @@ vscode@1.0.1:
|
||||
source-map-support "^0.3.2"
|
||||
vinyl-source-stream "^1.1.0"
|
||||
|
||||
vscode@1.1.5:
|
||||
version "1.1.5"
|
||||
resolved "https://registry.yarnpkg.com/vscode/-/vscode-1.1.5.tgz#10eb104001840c3dd0813815fd4a05f8fc882d14"
|
||||
dependencies:
|
||||
glob "^7.1.1"
|
||||
gulp-chmod "^2.0.0"
|
||||
gulp-filter "^5.0.0"
|
||||
gulp-gunzip "0.0.3"
|
||||
gulp-remote-src "^0.4.2"
|
||||
gulp-symdest "^1.1.0"
|
||||
gulp-untar "^0.0.6"
|
||||
gulp-vinyl-zip "^1.4.0"
|
||||
mocha "^3.2.0"
|
||||
request "^2.79.0"
|
||||
semver "^5.3.0"
|
||||
source-map-support "^0.4.11"
|
||||
url-parse "^1.1.9"
|
||||
vinyl-source-stream "^1.1.0"
|
||||
|
||||
winreg@1.2.3:
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/winreg/-/winreg-1.2.3.tgz#93ad116b2696da87d58f7265a8fcea5254a965d5"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
'use strict';
|
||||
|
||||
import * as adal from 'adal-node';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import * as request from 'request';
|
||||
import * as nls from 'vscode-nls';
|
||||
import * as vscode from 'vscode';
|
||||
@@ -22,7 +22,7 @@ import TokenCache from './tokenCache';
|
||||
|
||||
const localize = nls.loadMessageBundle();
|
||||
|
||||
export class AzureAccountProvider implements data.AccountProvider {
|
||||
export class AzureAccountProvider implements sqlops.AccountProvider {
|
||||
// CONSTANTS ///////////////////////////////////////////////////////////
|
||||
private static WorkSchoolAccountType: string = 'work_school';
|
||||
private static MicrosoftAccountType: string = 'microsoft';
|
||||
@@ -57,7 +57,7 @@ export class AzureAccountProvider implements data.AccountProvider {
|
||||
* @param {"data".AccountKey} accountKey Key identifying the account to delete tokens for
|
||||
* @returns {Thenable<void>} Promise to clear requested tokens from the token cache
|
||||
*/
|
||||
public clear(accountKey: data.AccountKey): Thenable<void> {
|
||||
public clear(accountKey: sqlops.AccountKey): Thenable<void> {
|
||||
return this.doIfInitialized(() => this.clearAccountTokens(accountKey));
|
||||
}
|
||||
|
||||
@@ -73,10 +73,10 @@ export class AzureAccountProvider implements data.AccountProvider {
|
||||
return this.doIfInitialized(() => this.getAccessTokens(account));
|
||||
}
|
||||
|
||||
public initialize(restoredAccounts: data.Account[]): Thenable<data.Account[]> {
|
||||
public initialize(restoredAccounts: sqlops.Account[]): Thenable<sqlops.Account[]> {
|
||||
let self = this;
|
||||
|
||||
let rehydrationTasks: Thenable<data.Account>[] = [];
|
||||
let rehydrationTasks: Thenable<sqlops.Account>[] = [];
|
||||
for (let account of restoredAccounts) {
|
||||
// Purge any invalid accounts
|
||||
if (!account) {
|
||||
@@ -145,7 +145,7 @@ export class AzureAccountProvider implements data.AccountProvider {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
private clearAccountTokens(accountKey: data.AccountKey): Thenable<void> {
|
||||
private clearAccountTokens(accountKey: sqlops.AccountKey): Thenable<void> {
|
||||
// Put together a query to look up any tokens associated with the account key
|
||||
let query = <adal.TokenResponse>{ userId: accountKey.accountId };
|
||||
|
||||
@@ -180,7 +180,7 @@ export class AzureAccountProvider implements data.AccountProvider {
|
||||
if (error) {
|
||||
// TODO: We'll assume for now that the account is stale, though that might not be accurate
|
||||
account.isStale = true;
|
||||
data.accounts.accountUpdated(account);
|
||||
sqlops.accounts.accountUpdated(account);
|
||||
|
||||
reject(error);
|
||||
return;
|
||||
@@ -240,7 +240,7 @@ export class AzureAccountProvider implements data.AccountProvider {
|
||||
let title = isAddAccount ?
|
||||
localize('addAccount', 'Add {0} account', self._metadata.displayName) :
|
||||
localize('refreshAccount', 'Refresh {0} account', self._metadata.displayName);
|
||||
return data.accounts.beginAutoOAuthDeviceCode(self._metadata.id, title, oAuth.userCodeInfo.message, oAuth.userCodeInfo.userCode, oAuth.userCodeInfo.verificationUrl)
|
||||
return sqlops.accounts.beginAutoOAuthDeviceCode(self._metadata.id, title, oAuth.userCodeInfo.message, oAuth.userCodeInfo.userCode, oAuth.userCodeInfo.verificationUrl)
|
||||
.then(() => {
|
||||
return new Promise<adal.TokenResponse>((resolve, reject) => {
|
||||
let context = oAuth.context;
|
||||
@@ -249,14 +249,14 @@ export class AzureAccountProvider implements data.AccountProvider {
|
||||
if (err) {
|
||||
if (self._autoOAuthCancelled) {
|
||||
// Auto OAuth was cancelled by the user, indicate this with the error we return
|
||||
reject(<data.UserCancelledSignInError>{ userCancelledSignIn: true });
|
||||
reject(<sqlops.UserCancelledSignInError>{ userCancelledSignIn: true });
|
||||
} else {
|
||||
// Auto OAuth failed for some other reason
|
||||
data.accounts.endAutoOAuthDeviceCode();
|
||||
sqlops.accounts.endAutoOAuthDeviceCode();
|
||||
reject(err);
|
||||
}
|
||||
} else {
|
||||
data.accounts.endAutoOAuthDeviceCode();
|
||||
sqlops.accounts.endAutoOAuthDeviceCode();
|
||||
resolve(<adal.TokenResponse>response);
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
'use strict';
|
||||
|
||||
import * as constants from '../constants';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import * as events from 'events';
|
||||
import * as nls from 'vscode-nls';
|
||||
import * as path from 'path';
|
||||
@@ -27,7 +27,7 @@ export class AzureAccountProviderService implements vscode.Disposable {
|
||||
// MEMBER VARIABLES ////////////////////////////////////////////////////////
|
||||
private _accountDisposals: { [accountProviderId: string]: vscode.Disposable };
|
||||
private _accountProviders: { [accountProviderId: string]: AzureAccountProvider };
|
||||
private _credentialProvider: data.CredentialProvider;
|
||||
private _credentialProvider: sqlops.CredentialProvider;
|
||||
private _configChangePromiseChain: Thenable<void>;
|
||||
private _currentConfig: vscode.WorkspaceConfiguration;
|
||||
private _event: events.EventEmitter;
|
||||
@@ -55,7 +55,7 @@ export class AzureAccountProviderService implements vscode.Disposable {
|
||||
// 2a) Store the credential provider for use later
|
||||
// 2b) Register the configuration change handler
|
||||
// 2c) Perform an initial config change handling
|
||||
return data.credentials.getProvider(AzureAccountProviderService.CredentialNamespace)
|
||||
return sqlops.credentials.getProvider(AzureAccountProviderService.CredentialNamespace)
|
||||
.then(credProvider => {
|
||||
self._credentialProvider = credProvider;
|
||||
|
||||
@@ -138,7 +138,7 @@ export class AzureAccountProviderService implements vscode.Disposable {
|
||||
let tokenCache = new CredentialServiceTokenCache(self._credentialProvider, tokenCacheKey, tokenCachePath);
|
||||
let accountProvider = new AzureAccountProvider(<AzureAccountProviderMetadata>provider.metadata, tokenCache);
|
||||
self._accountProviders[provider.metadata.id] = accountProvider;
|
||||
self._accountDisposals[provider.metadata.id] = data.accounts.registerAccountProvider(provider.metadata, accountProvider);
|
||||
self._accountDisposals[provider.metadata.id] = sqlops.accounts.registerAccountProvider(provider.metadata, accountProvider);
|
||||
resolve();
|
||||
} catch (e) {
|
||||
console.error(`Failed to register account provider: ${e}`);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
/**
|
||||
* Represents a tenant (an Azure Active Directory instance) to which a user has access
|
||||
@@ -118,7 +118,7 @@ export interface ProviderSettings {
|
||||
/**
|
||||
* Extension of account provider metadata to override settings type for Azure account providers
|
||||
*/
|
||||
export interface AzureAccountProviderMetadata extends data.AccountProviderMetadata {
|
||||
export interface AzureAccountProviderMetadata extends sqlops.AccountProviderMetadata {
|
||||
/**
|
||||
* Azure specific account provider settings.
|
||||
*/
|
||||
@@ -143,7 +143,7 @@ export interface AzureAccountProperties {
|
||||
/**
|
||||
* Override of the Account type to enforce properties that are AzureAccountProperties
|
||||
*/
|
||||
export interface AzureAccount extends data.Account {
|
||||
export interface AzureAccount extends sqlops.Account {
|
||||
/**
|
||||
* AzureAccountProperties specifically used for Azure accounts
|
||||
*/
|
||||
@@ -179,4 +179,4 @@ export interface AzureAccountSecurityToken {
|
||||
* Azure account security token maps a tenant ID to the information returned from a request to get
|
||||
* an access token. The list of tenants correspond to the tenants in the account properties.
|
||||
*/
|
||||
export type AzureAccountSecurityTokenCollection = {[tenantId: string]: AzureAccountSecurityToken};
|
||||
export type AzureAccountSecurityTokenCollection = { [tenantId: string]: AzureAccountSecurityToken };
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
'use strict';
|
||||
|
||||
import * as adal from 'adal-node';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import * as crypto from 'crypto';
|
||||
import * as fs from 'fs';
|
||||
|
||||
@@ -19,7 +19,7 @@ export default class TokenCache implements adal.TokenCache {
|
||||
private _activeOperation: Thenable<any>;
|
||||
|
||||
constructor(
|
||||
private _credentialProvider: data.CredentialProvider,
|
||||
private _credentialProvider: sqlops.CredentialProvider,
|
||||
private _credentialServiceKey: string,
|
||||
private _cacheSerializationPath: string
|
||||
) {
|
||||
|
||||
@@ -4,4 +4,4 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
/// <reference path='../../../../src/vs/vscode.d.ts'/>
|
||||
/// <reference path='../../../../src/sql/data.d.ts'/>
|
||||
/// <reference path='../../../../src/sql/sqlops.d.ts'/>
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
import vscode = require('vscode');
|
||||
import data = require('data');
|
||||
import * as vscode from 'vscode';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { Constants } from '../models/constants';
|
||||
import { Serialization } from '../serialize/serialization';
|
||||
import { AzureResourceProvider } from '../resourceProvider/resourceProvider';
|
||||
import { CredentialStore } from '../credentialstore/credentialstore';
|
||||
import { AzureResourceProvider } from '../resourceProvider/resourceProvider';
|
||||
import { IExtensionConstants, Telemetry, Constants as SharedConstants, SqlToolsServiceClient, VscodeWrapper, Utils, PlatformInformation } from 'extensions-modules';
|
||||
import { SqlOpsDataClient } from 'dataprotocol-client';
|
||||
import * as path from 'path';
|
||||
@@ -101,7 +101,7 @@ export default class MainController implements vscode.Disposable {
|
||||
|
||||
self.createResourceProviderClient().then(rpClient => {
|
||||
let resourceProvider = new AzureResourceProvider(self._client, rpClient);
|
||||
data.resources.registerResourceProvider({
|
||||
sqlops.resources.registerResourceProvider({
|
||||
displayName: 'Azure SQL Resource Provider', // TODO Localize
|
||||
id: 'Microsoft.Azure.SQL.ResourceProvider',
|
||||
settings: {
|
||||
@@ -116,19 +116,19 @@ export default class MainController implements vscode.Disposable {
|
||||
self.createCredentialClient().then(credentialClient => {
|
||||
self._credentialStore.languageClient = credentialClient;
|
||||
credentialClient.onReady().then(() => {
|
||||
let credentialProvider: data.CredentialProvider = {
|
||||
let credentialProvider: sqlops.CredentialProvider = {
|
||||
handle: 0,
|
||||
saveCredential(credentialId: string, password: string): Thenable<boolean> {
|
||||
return self._credentialStore.saveCredential(credentialId, password);
|
||||
},
|
||||
readCredential(credentialId: string): Thenable<data.Credential> {
|
||||
readCredential(credentialId: string): Thenable<sqlops.Credential> {
|
||||
return self._credentialStore.readCredential(credentialId);
|
||||
},
|
||||
deleteCredential(credentialId: string): Thenable<boolean> {
|
||||
return self._credentialStore.deleteCredential(credentialId);
|
||||
}
|
||||
};
|
||||
data.credentials.registerProvider(credentialProvider);
|
||||
sqlops.credentials.registerProvider(credentialProvider);
|
||||
Utils.logDebug('credentialProvider registered', MainController._extensionConstants.extensionConfigSectionName);
|
||||
});
|
||||
}, error => {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
'use strict';
|
||||
|
||||
import { RequestType } from 'vscode-languageclient';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
// DEV-NOTE: Still finalizing what we'll need as part of this interface
|
||||
/**
|
||||
@@ -22,7 +22,7 @@ export class SaveResultsInfo {
|
||||
}
|
||||
|
||||
export namespace SaveAsRequest {
|
||||
export const type = new RequestType<SaveResultsInfo, data.SaveResultRequestResult, void, void>('query/saveAs');
|
||||
export const type = new RequestType<SaveResultsInfo, sqlops.SaveResultRequestResult, void, void>('query/saveAs');
|
||||
}
|
||||
|
||||
// --------------------------------- < Read Credential Request > -------------------------------------------------
|
||||
@@ -77,7 +77,7 @@ export namespace HandleFirewallRuleRequest {
|
||||
|
||||
// Firewall rule interfaces
|
||||
export interface CreateFirewallRuleParams {
|
||||
account: data.Account;
|
||||
account: sqlops.Account;
|
||||
serverName: string;
|
||||
startIpAddress: string;
|
||||
endIpAddress: string;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
import * as Contracts from '../models/contracts';
|
||||
import { SqlToolsServiceClient } from 'extensions-modules';
|
||||
import { SqlOpsDataClient } from 'dataprotocol-client';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import * as path from 'path';
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ import * as path from 'path';
|
||||
*
|
||||
* Allows a single credential to be stored per service (that is, one username per service);
|
||||
*/
|
||||
export class AzureResourceProvider implements data.ResourceProvider {
|
||||
export class AzureResourceProvider implements sqlops.ResourceProvider {
|
||||
|
||||
public languageClient: SqlOpsDataClient;
|
||||
|
||||
@@ -27,9 +27,9 @@ export class AzureResourceProvider implements data.ResourceProvider {
|
||||
this.languageClient = langClient;
|
||||
}
|
||||
|
||||
public createFirewallRule(account: data.Account, firewallruleInfo: data.FirewallRuleInfo): Thenable<data.CreateFirewallRuleResponse> {
|
||||
public createFirewallRule(account: sqlops.Account, firewallruleInfo: sqlops.FirewallRuleInfo): Thenable<sqlops.CreateFirewallRuleResponse> {
|
||||
let self = this;
|
||||
return new Promise<data.CreateFirewallRuleResponse>((resolve, reject) => {
|
||||
return new Promise<sqlops.CreateFirewallRuleResponse>((resolve, reject) => {
|
||||
self._client.
|
||||
sendRequest(Contracts.CreateFirewallRuleRequest.type, self.asCreateFirewallRuleParams(account, firewallruleInfo), self.languageClient)
|
||||
.then(response => {
|
||||
@@ -38,9 +38,9 @@ export class AzureResourceProvider implements data.ResourceProvider {
|
||||
});
|
||||
}
|
||||
|
||||
public handleFirewallRule(errorCode: number, errorMessage: string, connectionTypeId: string): Thenable<data.HandleFirewallRuleResponse> {
|
||||
public handleFirewallRule(errorCode: number, errorMessage: string, connectionTypeId: string): Thenable<sqlops.HandleFirewallRuleResponse> {
|
||||
let self = this;
|
||||
return new Promise<data.HandleFirewallRuleResponse>((resolve, reject) => {
|
||||
return new Promise<sqlops.HandleFirewallRuleResponse>((resolve, reject) => {
|
||||
let params: Contracts.HandleFirewallRuleParams = { errorCode: errorCode, errorMessage: errorMessage, connectionTypeId: connectionTypeId };
|
||||
|
||||
self._client.
|
||||
@@ -51,7 +51,7 @@ export class AzureResourceProvider implements data.ResourceProvider {
|
||||
});
|
||||
}
|
||||
|
||||
private asCreateFirewallRuleParams(account: data.Account, params: data.FirewallRuleInfo): Contracts.CreateFirewallRuleParams {
|
||||
private asCreateFirewallRuleParams(account: sqlops.Account, params: sqlops.FirewallRuleInfo): Contracts.CreateFirewallRuleParams {
|
||||
return {
|
||||
account: account,
|
||||
serverName: params.serverName,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
/**
|
||||
* Serializer for saving results into a different format
|
||||
@@ -13,5 +13,5 @@ import * as data from 'data';
|
||||
* @interface ISerialization
|
||||
*/
|
||||
export interface ISerialization {
|
||||
saveAs(saveFormat: string, savePath: string, results: string, appendToFile: boolean): Promise<data.SaveResultRequestResult>;
|
||||
saveAs(saveFormat: string, savePath: string, results: string, appendToFile: boolean): Promise<sqlops.SaveResultRequestResult>;
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
import * as Contracts from '../models/contracts';
|
||||
import { ISerialization } from './iserialization';
|
||||
import { SqlToolsServiceClient } from 'extensions-modules';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { SqlOpsDataClient } from 'dataprotocol-client';
|
||||
import * as path from 'path';
|
||||
|
||||
@@ -28,14 +28,14 @@ export class Serialization implements ISerialization {
|
||||
* @param {string} credentialId the ID uniquely identifying this credential
|
||||
* @returns {Promise<ISaveResultsInfo>} Promise that resolved to the credential, or undefined if not found
|
||||
*/
|
||||
public saveAs(saveFormat: string, savePath: string, results: string, appendToFile: boolean): Promise<data.SaveResultRequestResult> {
|
||||
public saveAs(saveFormat: string, savePath: string, results: string, appendToFile: boolean): Promise<sqlops.SaveResultRequestResult> {
|
||||
let self = this;
|
||||
let resultsInfo: Contracts.SaveResultsInfo = new Contracts.SaveResultsInfo(saveFormat, savePath, results, appendToFile);
|
||||
return new Promise<data.SaveResultRequestResult>((resolve, reject) => {
|
||||
return new Promise<sqlops.SaveResultRequestResult>((resolve, reject) => {
|
||||
self._client
|
||||
.sendRequest(Contracts.SaveAsRequest.type, resultsInfo, this._languageClient)
|
||||
.then(result => {
|
||||
resolve(<data.SaveResultRequestResult>result);
|
||||
resolve(<sqlops.SaveResultRequestResult>result);
|
||||
}, err => reject(err));
|
||||
});
|
||||
}
|
||||
|
||||
2
extensions/mssql/client/src/typings/ref.d.ts
vendored
2
extensions/mssql/client/src/typings/ref.d.ts
vendored
@@ -4,5 +4,5 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
/// <reference path='../../../../../src/vs/vscode.d.ts'/>
|
||||
/// <reference path='../../../../../src/sql/data.d.ts'/>
|
||||
/// <reference path='../../../../../src/sql/sqlops.d.ts'/>
|
||||
/// <reference types='@types/node'/>
|
||||
1766
extensions/yarn.lock
1766
extensions/yarn.lock
File diff suppressed because it is too large
Load Diff
@@ -10,7 +10,7 @@ import { Button } from 'sql/base/browser/ui/button/button';
|
||||
import { Builder } from 'vs/base/browser/builder';
|
||||
import * as types from 'vs/base/common/types';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
export function appendRow(container: Builder, label: string, labelClass: string, cellContainerClass: string): Builder {
|
||||
let cellContainer: Builder;
|
||||
@@ -61,7 +61,7 @@ export function getBooleanValueFromStringOrBoolean(value: any): boolean {
|
||||
return false;
|
||||
}
|
||||
|
||||
export function getCategoryDisplayName(categories: data.CategoryValue[], categoryName: string) {
|
||||
export function getCategoryDisplayName(categories: sqlops.CategoryValue[], categoryName: string) {
|
||||
var displayName: string;
|
||||
categories.forEach(c => {
|
||||
if (c.name === categoryName) {
|
||||
@@ -71,7 +71,7 @@ export function getCategoryDisplayName(categories: data.CategoryValue[], categor
|
||||
return displayName;
|
||||
}
|
||||
|
||||
export function getCategoryName(categories: data.CategoryValue[], categoryDisplayName: string) {
|
||||
export function getCategoryName(categories: sqlops.CategoryValue[], categoryDisplayName: string) {
|
||||
var categoryName: string;
|
||||
categories.forEach(c => {
|
||||
if (c.displayName === categoryDisplayName) {
|
||||
|
||||
@@ -14,7 +14,7 @@ import { IModalOptions, Modal } from './modal';
|
||||
import * as OptionsDialogHelper from './optionsDialogHelper';
|
||||
import { attachButtonStyler, attachModalDialogStyler } from 'sql/common/theme/styler';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { IPartService } from 'vs/workbench/services/part/common/partService';
|
||||
import Event, { Emitter } from 'vs/base/common/event';
|
||||
import { SIDE_BAR_BACKGROUND } from 'vs/workbench/common/theme';
|
||||
@@ -154,9 +154,9 @@ export class OptionsDialog extends Modal {
|
||||
this._optionDescription.innerHtml(option.description);
|
||||
}
|
||||
|
||||
private fillInOptions(container: Builder, options: data.ServiceOption[]): void {
|
||||
private fillInOptions(container: Builder, options: sqlops.ServiceOption[]): void {
|
||||
for (var i = 0; i < options.length; i++) {
|
||||
var option: data.ServiceOption = options[i];
|
||||
var option: sqlops.ServiceOption = options[i];
|
||||
var rowContainer = DialogHelper.appendRow(container, option.displayName, 'optionsDialog-label', 'optionsDialog-input');
|
||||
OptionsDialogHelper.createOptionElement(option, rowContainer, this._optionValues, this._optionElements, this._contextViewService, (name) => this.onOptionLinkClicked(name));
|
||||
}
|
||||
@@ -221,7 +221,7 @@ export class OptionsDialog extends Modal {
|
||||
this._onCloseEvent.fire();
|
||||
}
|
||||
|
||||
public open(options: data.ServiceOption[], optionValues: { [name: string]: any }) {
|
||||
public open(options: sqlops.ServiceOption[], optionValues: { [name: string]: any }) {
|
||||
this._optionValues = optionValues;
|
||||
var firstOption: string;
|
||||
var containerGroup: Builder;
|
||||
@@ -233,7 +233,7 @@ export class OptionsDialog extends Modal {
|
||||
var splitview = new SplitView(containerGroup.getHTMLElement());
|
||||
let categoryMap = OptionsDialogHelper.groupOptionsByCategory(options);
|
||||
for (var category in categoryMap) {
|
||||
var serviceOptions: data.ServiceOption[] = categoryMap[category];
|
||||
var serviceOptions: sqlops.ServiceOption[] = categoryMap[category];
|
||||
var bodyContainer = $().element('table', { class: 'optionsDialog-table' }, (tableContainer: Builder) => {
|
||||
this.fillInOptions(tableContainer, serviceOptions);
|
||||
});
|
||||
|
||||
@@ -12,17 +12,17 @@ import { MessageType } from 'vs/base/browser/ui/inputbox/inputBox';
|
||||
import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
|
||||
import { InputBox } from 'sql/base/browser/ui/inputBox/inputBox';
|
||||
import * as types from 'vs/base/common/types';
|
||||
import data = require('data');
|
||||
import * as sqlops from 'sqlops';
|
||||
import { localize } from 'vs/nls';
|
||||
import { ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes';
|
||||
|
||||
export interface IOptionElement {
|
||||
optionWidget: any;
|
||||
option: data.ServiceOption;
|
||||
option: sqlops.ServiceOption;
|
||||
optionValue: any;
|
||||
}
|
||||
|
||||
export function createOptionElement(option: data.ServiceOption, rowContainer: Builder, options: { [name: string]: any },
|
||||
export function createOptionElement(option: sqlops.ServiceOption, rowContainer: Builder, options: { [name: string]: any },
|
||||
optionsMap: { [optionName: string]: IOptionElement }, contextViewService: IContextViewService, onFocus: (name) => void): void {
|
||||
let possibleInputs: string[] = [];
|
||||
let optionValue = this.getOptionValueAndCategoryValues(option, options, possibleInputs);
|
||||
@@ -67,8 +67,7 @@ export function createOptionElement(option: data.ServiceOption, rowContainer: Bu
|
||||
inputElement.onfocus = () => onFocus(option.name);
|
||||
}
|
||||
|
||||
export function getOptionValueAndCategoryValues(option: data.ServiceOption, options: { [optionName: string]: any }, possibleInputs: string[]): any {
|
||||
|
||||
export function getOptionValueAndCategoryValues(option: sqlops.ServiceOption, options: { [optionName: string]: any }, possibleInputs: string[]): any {
|
||||
var optionValue = option.defaultValue;
|
||||
if (options[option.name]) {
|
||||
// if the value type is boolean, the option value can be either boolean or string
|
||||
@@ -160,8 +159,8 @@ export function findElement(container: Builder, className: string): HTMLElement
|
||||
return elementBuilder.getHTMLElement();
|
||||
}
|
||||
|
||||
export function groupOptionsByCategory(options: data.ServiceOption[]): { [category: string]: data.ServiceOption[] } {
|
||||
var connectionOptionsMap: { [category: string]: data.ServiceOption[] } = {};
|
||||
export function groupOptionsByCategory(options: sqlops.ServiceOption[]): { [category: string]: sqlops.ServiceOption[] } {
|
||||
var connectionOptionsMap: { [category: string]: sqlops.ServiceOption[] } = {};
|
||||
options.forEach(option => {
|
||||
var groupName = option.groupName;
|
||||
if (groupName === null || groupName === undefined) {
|
||||
|
||||
@@ -22,7 +22,6 @@ import WebView from 'vs/workbench/parts/html/browser/webview';
|
||||
import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
|
||||
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
|
||||
import { IDisposable, toDisposable } from 'vs/base/common/lifecycle';
|
||||
import data = require('data');
|
||||
|
||||
export class WebViewDialog extends Modal {
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
|
||||
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
|
||||
import * as TelemetryKeys from 'sql/common/telemetryKeys';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { Button } from 'sql/base/browser/ui/button/button';
|
||||
import { Modal } from 'sql/base/browser/ui/modal/modal';
|
||||
import { attachModalDialogStyler, attachButtonStyler } from 'sql/common/theme/styler';
|
||||
@@ -40,7 +40,7 @@ export class AccountDialog extends Modal {
|
||||
public viewModel: AccountViewModel;
|
||||
|
||||
// MEMBER VARIABLES ////////////////////////////////////////////////////
|
||||
private _providerViews: { [providerId: string]: FixedListView<data.Account> } = {};
|
||||
private _providerViews: { [providerId: string]: FixedListView<sqlops.Account> } = {};
|
||||
|
||||
private _closeButton: Button;
|
||||
private _delegate: AccountListDelegate;
|
||||
@@ -174,8 +174,8 @@ export class AccountDialog extends Modal {
|
||||
|
||||
// Create a fixed list view for the account provider
|
||||
let providerViewContainer = DOM.$('.provider-view');
|
||||
let accountList = new List<data.Account>(providerViewContainer, this._delegate, [this._accountRenderer]);
|
||||
let providerView = new FixedListView<data.Account>(
|
||||
let accountList = new List<sqlops.Account>(providerViewContainer, this._delegate, [this._accountRenderer]);
|
||||
let providerView = new FixedListView<sqlops.Account>(
|
||||
undefined,
|
||||
false,
|
||||
newProvider.addedProvider.displayName,
|
||||
@@ -205,7 +205,7 @@ export class AccountDialog extends Modal {
|
||||
this._providerViews[newProvider.addedProvider.id] = providerView;
|
||||
}
|
||||
|
||||
private removeProvider(removedProvider: data.AccountProviderMetadata) {
|
||||
private removeProvider(removedProvider: sqlops.AccountProviderMetadata) {
|
||||
// Skip removing the provider if it doesn't exist
|
||||
let providerView = this._providerViews[removedProvider.id];
|
||||
if (!providerView) {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import Event, { Emitter } from 'vs/base/common/event';
|
||||
import { IAccountManagementService } from 'sql/services/accountManagement/interfaces';
|
||||
import { AccountProviderAddedEventParams, UpdateAccountListEventParams } from 'sql/services/accountManagement/eventTypes';
|
||||
@@ -18,18 +18,18 @@ export class AccountViewModel {
|
||||
private _addProviderEmitter: Emitter<AccountProviderAddedEventParams>;
|
||||
public get addProviderEvent(): Event<AccountProviderAddedEventParams> { return this._addProviderEmitter.event; }
|
||||
|
||||
private _removeProviderEmitter: Emitter<data.AccountProviderMetadata>;
|
||||
public get removeProviderEvent(): Event<data.AccountProviderMetadata> { return this._removeProviderEmitter.event; }
|
||||
private _removeProviderEmitter: Emitter<sqlops.AccountProviderMetadata>;
|
||||
public get removeProviderEvent(): Event<sqlops.AccountProviderMetadata> { return this._removeProviderEmitter.event; }
|
||||
|
||||
private _updateAccountListEmitter: Emitter<UpdateAccountListEventParams>;
|
||||
public get updateAccountListEvent(): Event<UpdateAccountListEventParams> { return this._updateAccountListEmitter.event; }
|
||||
|
||||
constructor(@IAccountManagementService private _accountManagementService: IAccountManagementService) {
|
||||
constructor( @IAccountManagementService private _accountManagementService: IAccountManagementService) {
|
||||
let self = this;
|
||||
|
||||
// Create our event emitters
|
||||
this._addProviderEmitter = new Emitter<AccountProviderAddedEventParams>();
|
||||
this._removeProviderEmitter = new Emitter<data.AccountProviderMetadata>();
|
||||
this._removeProviderEmitter = new Emitter<sqlops.AccountProviderMetadata>();
|
||||
this._updateAccountListEmitter = new Emitter<UpdateAccountListEventParams>();
|
||||
|
||||
// Register handlers for any changes to the providers or accounts
|
||||
@@ -53,22 +53,22 @@ export class AccountViewModel {
|
||||
// 3) Build parameters to add a provider and return it
|
||||
return this._accountManagementService.getAccountProviderMetadata()
|
||||
.then(
|
||||
(providers: data.AccountProviderMetadata[]) => {
|
||||
let promises = providers.map(provider => {
|
||||
return self._accountManagementService.getAccountsForProvider(provider.id)
|
||||
.then(
|
||||
accounts => <AccountProviderAddedEventParams> {
|
||||
addedProvider: provider,
|
||||
initialAccounts: accounts
|
||||
},
|
||||
() => { /* Swallow failures at getting accounts, we'll just hide that provider */ });
|
||||
});
|
||||
return Promise.all(promises);
|
||||
},
|
||||
() => {
|
||||
/* Swallow failures and just pretend we don't have any providers */
|
||||
return [];
|
||||
}
|
||||
(providers: sqlops.AccountProviderMetadata[]) => {
|
||||
let promises = providers.map(provider => {
|
||||
return self._accountManagementService.getAccountsForProvider(provider.id)
|
||||
.then(
|
||||
accounts => <AccountProviderAddedEventParams>{
|
||||
addedProvider: provider,
|
||||
initialAccounts: accounts
|
||||
},
|
||||
() => { /* Swallow failures at getting accounts, we'll just hide that provider */ });
|
||||
});
|
||||
return Promise.all(promises);
|
||||
},
|
||||
() => {
|
||||
/* Swallow failures and just pretend we don't have any providers */
|
||||
return [];
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,7 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
|
||||
import { Disposable, IDisposable } from 'vs/base/common/lifecycle';
|
||||
import { ActionBar } from 'vs/base/browser/ui/actionbar/actionbar';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { DropdownList } from 'sql/base/browser/ui/dropdownList/dropdownList';
|
||||
import { attachDropdownStyler } from 'sql/common/theme/styler';
|
||||
import { AddAccountAction, RefreshAccountAction } from 'sql/parts/accountManagement/common/accountActions';
|
||||
@@ -29,7 +29,7 @@ import { AccountPickerViewModel } from 'sql/parts/accountManagement/accountPicke
|
||||
export class AccountPicker extends Disposable {
|
||||
public static ACCOUNTPICKERLIST_HEIGHT = 47;
|
||||
public viewModel: AccountPickerViewModel;
|
||||
private _accountList: List<data.Account>;
|
||||
private _accountList: List<sqlops.Account>;
|
||||
private _rootElement: HTMLElement;
|
||||
private _refreshContainer: HTMLElement;
|
||||
private _listContainer: HTMLElement;
|
||||
@@ -46,8 +46,8 @@ export class AccountPicker extends Disposable {
|
||||
private _addAccountStartEmitter: Emitter<void>;
|
||||
public get addAccountStartEvent(): Event<void> { return this._addAccountStartEmitter.event; }
|
||||
|
||||
private _onAccountSelectionChangeEvent: Emitter<data.Account>;
|
||||
public get onAccountSelectionChangeEvent(): Event<data.Account> { return this._onAccountSelectionChangeEvent.event; }
|
||||
private _onAccountSelectionChangeEvent: Emitter<sqlops.Account>;
|
||||
public get onAccountSelectionChangeEvent(): Event<sqlops.Account> { return this._onAccountSelectionChangeEvent.event; }
|
||||
|
||||
constructor(
|
||||
private _providerId: string,
|
||||
@@ -61,7 +61,7 @@ export class AccountPicker extends Disposable {
|
||||
this._addAccountCompleteEmitter = new Emitter<void>();
|
||||
this._addAccountErrorEmitter = new Emitter<string>();
|
||||
this._addAccountStartEmitter = new Emitter<void>();
|
||||
this._onAccountSelectionChangeEvent = new Emitter<data.Account>();
|
||||
this._onAccountSelectionChangeEvent = new Emitter<sqlops.Account>();
|
||||
|
||||
// Create the view model, wire up the events, and initialize with baseline data
|
||||
this.viewModel = this._instantiationService.createInstance(AccountPickerViewModel, this._providerId);
|
||||
@@ -89,7 +89,7 @@ export class AccountPicker extends Disposable {
|
||||
let delegate = new AccountListDelegate(AccountPicker.ACCOUNTPICKERLIST_HEIGHT);
|
||||
let accountRenderer = new AccountPickerListRenderer();
|
||||
this._listContainer = DOM.$('div.account-list-container');
|
||||
this._accountList = new List<data.Account>(this._listContainer, delegate, [accountRenderer]);
|
||||
this._accountList = new List<sqlops.Account>(this._listContainer, delegate, [accountRenderer]);
|
||||
this._register(attachListStyler(this._accountList, this._themeService));
|
||||
|
||||
this._rootElement = DOM.$('div.account-picker-container');
|
||||
@@ -108,7 +108,7 @@ export class AccountPicker extends Disposable {
|
||||
|
||||
this._dropdown = this._register(new DropdownList(this._rootElement, option, this._listContainer, this._accountList, this._themeService, addAccountAction));
|
||||
this._register(attachDropdownStyler(this._dropdown, this._themeService));
|
||||
this._register(this._accountList.onSelectionChange((e: IListEvent<data.Account>) => {
|
||||
this._register(this._accountList.onSelectionChange((e: IListEvent<sqlops.Account>) => {
|
||||
if (e.elements.length === 1) {
|
||||
this._dropdown.renderLabel();
|
||||
this.onAccountSelectionChange(e.elements[0]);
|
||||
@@ -134,7 +134,7 @@ export class AccountPicker extends Disposable {
|
||||
|
||||
// Load the initial contents of the view model
|
||||
this.viewModel.initialize()
|
||||
.then((accounts: data.Account[]) => {
|
||||
.then((accounts: sqlops.Account[]) => {
|
||||
this.updateAccountList(accounts);
|
||||
});
|
||||
}
|
||||
@@ -147,7 +147,7 @@ export class AccountPicker extends Disposable {
|
||||
}
|
||||
|
||||
// PRIVATE HELPERS /////////////////////////////////////////////////////
|
||||
private onAccountSelectionChange(account: data.Account) {
|
||||
private onAccountSelectionChange(account: sqlops.Account) {
|
||||
this.viewModel.selectedAccount = account;
|
||||
if (account && account.isStale) {
|
||||
this._refreshAccountAction.account = account;
|
||||
@@ -194,7 +194,7 @@ export class AccountPicker extends Disposable {
|
||||
return null;
|
||||
}
|
||||
|
||||
private updateAccountList(accounts: data.Account[]): void {
|
||||
private updateAccountList(accounts: sqlops.Account[]): void {
|
||||
// keep the selection to the current one
|
||||
let selectedElements = this._accountList.getSelectedElements();
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
'use strict';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import Event, { Emitter } from 'vs/base/common/event';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
import { IAccountPickerService } from 'sql/parts/accountManagement/common/interfaces';
|
||||
import { AccountPicker } from 'sql/parts/accountManagement/accountPicker/accountPicker';
|
||||
@@ -26,8 +26,8 @@ export class AccountPickerService implements IAccountPickerService {
|
||||
private _addAccountStartEmitter: Emitter<void>;
|
||||
public get addAccountStartEvent(): Event<void> { return this._addAccountStartEmitter.event; }
|
||||
|
||||
private _onAccountSelectionChangeEvent: Emitter<data.Account>;
|
||||
public get onAccountSelectionChangeEvent(): Event<data.Account> { return this._onAccountSelectionChangeEvent.event; }
|
||||
private _onAccountSelectionChangeEvent: Emitter<sqlops.Account>;
|
||||
public get onAccountSelectionChangeEvent(): Event<sqlops.Account> { return this._onAccountSelectionChangeEvent.event; }
|
||||
|
||||
constructor(
|
||||
@IInstantiationService private _instantiationService: IInstantiationService
|
||||
@@ -36,13 +36,13 @@ export class AccountPickerService implements IAccountPickerService {
|
||||
this._addAccountCompleteEmitter = new Emitter<void>();
|
||||
this._addAccountErrorEmitter = new Emitter<string>();
|
||||
this._addAccountStartEmitter = new Emitter<void>();
|
||||
this._onAccountSelectionChangeEvent = new Emitter<data.Account>();
|
||||
this._onAccountSelectionChangeEvent = new Emitter<sqlops.Account>();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get selected account
|
||||
*/
|
||||
public get selectedAccount(): data.Account {
|
||||
public get selectedAccount(): sqlops.Account {
|
||||
return this._accountPicker.viewModel.selectedAccount;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import Event, { Emitter } from 'vs/base/common/event';
|
||||
|
||||
import { IAccountManagementService } from 'sql/services/accountManagement/interfaces';
|
||||
@@ -18,7 +18,7 @@ export class AccountPickerViewModel {
|
||||
private _updateAccountListEmitter: Emitter<UpdateAccountListEventParams>;
|
||||
public get updateAccountListEvent(): Event<UpdateAccountListEventParams> { return this._updateAccountListEmitter.event; }
|
||||
|
||||
public selectedAccount: data.Account;
|
||||
public selectedAccount: sqlops.Account;
|
||||
|
||||
constructor(
|
||||
private _providerId: string,
|
||||
@@ -38,7 +38,7 @@ export class AccountPickerViewModel {
|
||||
* Loads an initial list of accounts from the account management service
|
||||
* @return {Thenable<Account[]>} Promise to return the list of accounts
|
||||
*/
|
||||
public initialize(): Thenable<data.Account[]> {
|
||||
public initialize(): Thenable<sqlops.Account[]> {
|
||||
// Load a baseline of the accounts for the provider
|
||||
return this._accountManagementService.getAccountsForProvider(this._providerId)
|
||||
.then(null, () => {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import Event, { Emitter } from 'vs/base/common/event';
|
||||
import { localize } from 'vs/nls';
|
||||
import { TPromise } from 'vs/base/common/winjs.base';
|
||||
@@ -55,16 +55,16 @@ export class AddAccountAction extends Action {
|
||||
return new TPromise((resolve, reject) => {
|
||||
self._accountManagementService.addAccount(self._providerId)
|
||||
.then(
|
||||
() => {
|
||||
self._addAccountCompleteEmitter.fire();
|
||||
resolve(true);
|
||||
},
|
||||
err => {
|
||||
error(`Error while adding account: ${err}`);
|
||||
self._addAccountErrorEmitter.fire(err);
|
||||
self._addAccountCompleteEmitter.fire();
|
||||
reject(err);
|
||||
}
|
||||
() => {
|
||||
self._addAccountCompleteEmitter.fire();
|
||||
resolve(true);
|
||||
},
|
||||
err => {
|
||||
error(`Error while adding account: ${err}`);
|
||||
self._addAccountErrorEmitter.fire(err);
|
||||
self._addAccountCompleteEmitter.fire();
|
||||
reject(err);
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
@@ -78,7 +78,7 @@ export class RemoveAccountAction extends Action {
|
||||
public static LABEL = localize('removeAccount', 'Remove account');
|
||||
|
||||
constructor(
|
||||
private _account: data.Account,
|
||||
private _account: sqlops.Account,
|
||||
@IMessageService private _messageService: IMessageService,
|
||||
@IErrorMessageService private _errorMessageService: IErrorMessageService,
|
||||
@IAccountManagementService private _accountManagementService: IAccountManagementService
|
||||
@@ -143,7 +143,7 @@ export class ApplyFilterAction extends Action {
|
||||
export class RefreshAccountAction extends Action {
|
||||
public static ID = 'account.refresh';
|
||||
public static LABEL = localize('refreshAccount', 'Reenter your credentials');
|
||||
public account: data.Account;
|
||||
public account: sqlops.Account;
|
||||
|
||||
constructor(
|
||||
@IAccountManagementService private _accountManagementService: IAccountManagementService
|
||||
@@ -156,14 +156,14 @@ export class RefreshAccountAction extends Action {
|
||||
if (self.account) {
|
||||
self._accountManagementService.refreshAccount(self.account)
|
||||
.then(
|
||||
() => {
|
||||
resolve(true);
|
||||
},
|
||||
err => {
|
||||
error(`Error while refreshing account: ${err}`);
|
||||
reject(err);
|
||||
}
|
||||
);
|
||||
() => {
|
||||
resolve(true);
|
||||
},
|
||||
err => {
|
||||
error(`Error while refreshing account: ${err}`);
|
||||
reject(err);
|
||||
}
|
||||
);
|
||||
} else {
|
||||
let errorMessage = localize('NoAccountToRefresh', 'There is no account to refresh');
|
||||
reject(errorMessage);
|
||||
|
||||
@@ -15,20 +15,20 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
|
||||
|
||||
import { RemoveAccountAction, RefreshAccountAction } from 'sql/parts/accountManagement/common/accountActions';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
export class AccountListDelegate implements IDelegate<data.Account> {
|
||||
export class AccountListDelegate implements IDelegate<sqlops.Account> {
|
||||
|
||||
constructor(
|
||||
private _height: number
|
||||
) {
|
||||
}
|
||||
|
||||
public getHeight(element: data.Account): number {
|
||||
public getHeight(element: sqlops.Account): number {
|
||||
return this._height;
|
||||
}
|
||||
|
||||
public getTemplateId(element: data.Account): string {
|
||||
public getTemplateId(element: sqlops.Account): string {
|
||||
return 'accountListRenderer';
|
||||
}
|
||||
}
|
||||
@@ -44,7 +44,7 @@ export interface AccountListTemplate {
|
||||
actions?: ActionBar;
|
||||
}
|
||||
|
||||
export class AccountPickerListRenderer implements IRenderer<data.Account, AccountListTemplate> {
|
||||
export class AccountPickerListRenderer implements IRenderer<sqlops.Account, AccountListTemplate> {
|
||||
public static TEMPLATE_ID = 'accountListRenderer';
|
||||
|
||||
public get templateId(): string {
|
||||
@@ -64,7 +64,7 @@ export class AccountPickerListRenderer implements IRenderer<data.Account, Accoun
|
||||
return tableTemplate;
|
||||
}
|
||||
|
||||
public renderElement(account: data.Account, index: number, templateData: AccountListTemplate): void {
|
||||
public renderElement(account: sqlops.Account, index: number, templateData: AccountListTemplate): void {
|
||||
// Set the account icon
|
||||
templateData.icon.classList.add('account-logo', account.displayInfo.accountType);
|
||||
|
||||
@@ -101,7 +101,7 @@ export class AccountListRenderer extends AccountPickerListRenderer {
|
||||
return tableTemplate;
|
||||
}
|
||||
|
||||
public renderElement(account: data.Account, index: number, templateData: AccountListTemplate): void {
|
||||
public renderElement(account: sqlops.Account, index: number, templateData: AccountListTemplate): void {
|
||||
super.renderElement(account, index, templateData);
|
||||
if (account.isStale) {
|
||||
templateData.content.innerText = localize('refreshCredentials', 'You need to refresh the credentials for this account.');
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import Event from 'vs/base/common/event';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
|
||||
|
||||
@@ -26,7 +26,7 @@ export interface IResourceProviderService {
|
||||
/**
|
||||
* Register a resource provider
|
||||
*/
|
||||
registerProvider(providerId: string, provider: data.ResourceProvider): void;
|
||||
registerProvider(providerId: string, provider: sqlops.ResourceProvider): void;
|
||||
|
||||
/**
|
||||
* Unregister a resource provider
|
||||
@@ -36,7 +36,7 @@ export interface IResourceProviderService {
|
||||
/**
|
||||
* Create a firewall rule
|
||||
*/
|
||||
createFirewallRule(selectedAccount: data.Account, firewallruleInfo: data.FirewallRuleInfo, resourceProviderId: string): Promise<data.CreateFirewallRuleResponse>;
|
||||
createFirewallRule(selectedAccount: sqlops.Account, firewallruleInfo: sqlops.FirewallRuleInfo, resourceProviderId: string): Promise<sqlops.CreateFirewallRuleResponse>;
|
||||
|
||||
/**
|
||||
* handle a firewall rule
|
||||
@@ -56,6 +56,6 @@ export interface IAccountPickerService {
|
||||
addAccountCompleteEvent: Event<void>;
|
||||
addAccountErrorEvent: Event<string>;
|
||||
addAccountStartEvent: Event<void>;
|
||||
onAccountSelectionChangeEvent: Event<data.Account>;
|
||||
selectedAccount: data.Account;
|
||||
onAccountSelectionChangeEvent: Event<sqlops.Account>;
|
||||
selectedAccount: sqlops.Account;
|
||||
}
|
||||
|
||||
@@ -14,12 +14,12 @@ import * as TelemetryKeys from 'sql/common/telemetryKeys';
|
||||
import * as TelemetryUtils from 'sql/common/telemetryUtilities';
|
||||
import { FirewallRuleDialogController } from 'sql/parts/accountManagement/firewallRuleDialog/firewallRuleDialogController';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
export class ResourceProviderService implements IResourceProviderService {
|
||||
|
||||
public _serviceBrand: any;
|
||||
private _providers: { [handle: string]: data.ResourceProvider; } = Object.create(null);
|
||||
private _providers: { [handle: string]: sqlops.ResourceProvider; } = Object.create(null);
|
||||
private _firewallRuleDialogController: FirewallRuleDialogController;
|
||||
|
||||
constructor(
|
||||
@@ -44,8 +44,8 @@ export class ResourceProviderService implements IResourceProviderService {
|
||||
/**
|
||||
* Create a firewall rule
|
||||
*/
|
||||
public createFirewallRule(selectedAccount: data.Account, firewallruleInfo: data.FirewallRuleInfo, resourceProviderId: string): Promise<data.CreateFirewallRuleResponse> {
|
||||
return new Promise<data.CreateFirewallRuleResponse>((resolve, reject) => {
|
||||
public createFirewallRule(selectedAccount: sqlops.Account, firewallruleInfo: sqlops.FirewallRuleInfo, resourceProviderId: string): Promise<sqlops.CreateFirewallRuleResponse> {
|
||||
return new Promise<sqlops.CreateFirewallRuleResponse>((resolve, reject) => {
|
||||
let provider = this._providers[resourceProviderId];
|
||||
if (provider) {
|
||||
TelemetryUtils.addTelemetry(this._telemetryService, TelemetryKeys.FirewallRuleRequested, { provider: resourceProviderId });
|
||||
@@ -96,7 +96,7 @@ export class ResourceProviderService implements IResourceProviderService {
|
||||
/**
|
||||
* Register a resource provider
|
||||
*/
|
||||
public registerProvider(providerId: string, provider: data.ResourceProvider): void {
|
||||
public registerProvider(providerId: string, provider: sqlops.ResourceProvider): void {
|
||||
this._providers[providerId] = provider;
|
||||
}
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ import { SIDE_BAR_BACKGROUND } from 'vs/workbench/common/theme';
|
||||
import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey';
|
||||
import { IWindowsService } from 'vs/platform/windows/common/windows';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { Button } from 'sql/base/browser/ui/button/button';
|
||||
import { Modal } from 'sql/base/browser/ui/modal/modal';
|
||||
import { FirewallRuleViewModel } from 'sql/parts/accountManagement/firewallRuleDialog/firewallRuleViewModel';
|
||||
@@ -291,7 +291,7 @@ export class FirewallRuleDialog extends Modal {
|
||||
}
|
||||
}
|
||||
|
||||
public onAccountSelectionChange(account: data.Account): void {
|
||||
public onAccountSelectionChange(account: sqlops.Account): void {
|
||||
this.viewModel.selectedAccount = account;
|
||||
if (account && !account.isStale) {
|
||||
this._createButton.enabled = true;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import Severity from 'vs/base/common/severity';
|
||||
import { localize } from 'vs/nls';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
|
||||
import { IErrorMessageService } from 'sql/parts/connection/common/connectionManagement';
|
||||
@@ -62,7 +62,7 @@ export class FirewallRuleDialogController {
|
||||
let resourceProviderId = this._resourceProviderId;
|
||||
|
||||
this._accountManagementService.getSecurityToken(this._firewallRuleDialog.viewModel.selectedAccount).then(tokenMappings => {
|
||||
let firewallRuleInfo: data.FirewallRuleInfo = {
|
||||
let firewallRuleInfo: sqlops.FirewallRuleInfo = {
|
||||
startIpAddress: this._firewallRuleDialog.viewModel.isIPAddressSelected ? this._firewallRuleDialog.viewModel.defaultIPAddress : this._firewallRuleDialog.viewModel.fromSubnetIPRange,
|
||||
endIpAddress: this._firewallRuleDialog.viewModel.isIPAddressSelected ? this._firewallRuleDialog.viewModel.defaultIPAddress : this._firewallRuleDialog.viewModel.toSubnetIPRange,
|
||||
serverName: this._connection.serverName,
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
/**
|
||||
* View model for firewall rule dialog
|
||||
*/
|
||||
export class FirewallRuleViewModel {
|
||||
public isIPAddressSelected: boolean;
|
||||
public selectedAccount: data.Account;
|
||||
public selectedAccount: sqlops.Account;
|
||||
|
||||
private _defaultIPAddress: string;
|
||||
private _defaultFromSubnetIPRange: string;
|
||||
|
||||
@@ -18,32 +18,32 @@ import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/editorService';
|
||||
import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
|
||||
|
||||
import data = require('data');
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
export const IAdminService = createDecorator<IAdminService>(SERVICE_ID);
|
||||
|
||||
export interface IAdminService {
|
||||
_serviceBrand: any;
|
||||
|
||||
registerProvider(providerId: string, provider: data.AdminServicesProvider): void;
|
||||
registerProvider(providerId: string, provider: sqlops.AdminServicesProvider): void;
|
||||
|
||||
showCreateDatabaseWizard(uri: string, connection: IConnectionProfile): Promise<any>;
|
||||
|
||||
showCreateLoginWizard(uri: string, connection: IConnectionProfile): Promise<any>;
|
||||
|
||||
createDatabase(connectionUri: string, database: data.DatabaseInfo): Thenable<data.CreateDatabaseResponse>;
|
||||
createDatabase(connectionUri: string, database: sqlops.DatabaseInfo): Thenable<sqlops.CreateDatabaseResponse>;
|
||||
|
||||
getDefaultDatabaseInfo(connectionUri: string): Thenable<data.DatabaseInfo>;
|
||||
getDefaultDatabaseInfo(connectionUri: string): Thenable<sqlops.DatabaseInfo>;
|
||||
|
||||
getDatabaseInfo(connectionUri: string): Thenable<data.DatabaseInfo>;
|
||||
getDatabaseInfo(connectionUri: string): Thenable<sqlops.DatabaseInfo>;
|
||||
}
|
||||
|
||||
export class AdminService implements IAdminService {
|
||||
_serviceBrand: any;
|
||||
|
||||
private _providers: { [handle: string]: data.AdminServicesProvider; } = Object.create(null);
|
||||
private _providers: { [handle: string]: sqlops.AdminServicesProvider; } = Object.create(null);
|
||||
|
||||
private _providerOptions: { [handle: string]: data.AdminServicesOptions; } = Object.create(null);
|
||||
private _providerOptions: { [handle: string]: sqlops.AdminServicesOptions; } = Object.create(null);
|
||||
|
||||
constructor(
|
||||
@IInstantiationService private _instantiationService: IInstantiationService,
|
||||
@@ -58,7 +58,7 @@ export class AdminService implements IAdminService {
|
||||
}
|
||||
}
|
||||
|
||||
private _runAction<T>(uri: string, action: (handler: data.AdminServicesProvider) => Thenable<T>): Thenable<T> {
|
||||
private _runAction<T>(uri: string, action: (handler: sqlops.AdminServicesProvider) => Thenable<T>): Thenable<T> {
|
||||
let providerId: string = this._connectionService.getProviderIdFromUri(uri);
|
||||
|
||||
if (!providerId) {
|
||||
@@ -81,7 +81,7 @@ export class AdminService implements IAdminService {
|
||||
});
|
||||
}
|
||||
|
||||
public createDatabase(connectionUri: string, database: data.DatabaseInfo): Thenable<data.CreateDatabaseResponse> {
|
||||
public createDatabase(connectionUri: string, database: sqlops.DatabaseInfo): Thenable<sqlops.CreateDatabaseResponse> {
|
||||
let providerId: string = this._connectionService.getProviderIdFromUri(connectionUri);
|
||||
if (providerId) {
|
||||
let provider = this._providers[providerId];
|
||||
@@ -104,7 +104,7 @@ export class AdminService implements IAdminService {
|
||||
});
|
||||
}
|
||||
|
||||
public createLogin(connectionUri: string, login: data.LoginInfo): Thenable<data.CreateLoginResponse> {
|
||||
public createLogin(connectionUri: string, login: sqlops.LoginInfo): Thenable<sqlops.CreateLoginResponse> {
|
||||
let providerId: string = this._connectionService.getProviderIdFromUri(connectionUri);
|
||||
if (providerId) {
|
||||
let provider = this._providers[providerId];
|
||||
@@ -115,7 +115,7 @@ export class AdminService implements IAdminService {
|
||||
return Promise.resolve(undefined);
|
||||
}
|
||||
|
||||
public getDefaultDatabaseInfo(connectionUri: string): Thenable<data.DatabaseInfo> {
|
||||
public getDefaultDatabaseInfo(connectionUri: string): Thenable<sqlops.DatabaseInfo> {
|
||||
let providerId: string = this._connectionService.getProviderIdFromUri(connectionUri);
|
||||
if (providerId) {
|
||||
let provider = this._providers[providerId];
|
||||
@@ -126,13 +126,13 @@ export class AdminService implements IAdminService {
|
||||
return Promise.resolve(undefined);
|
||||
}
|
||||
|
||||
public getDatabaseInfo(connectionUri: string): Thenable<data.DatabaseInfo> {
|
||||
public getDatabaseInfo(connectionUri: string): Thenable<sqlops.DatabaseInfo> {
|
||||
return this._runAction(connectionUri, (runner) => {
|
||||
return runner.getDatabaseInfo(connectionUri);
|
||||
});
|
||||
}
|
||||
|
||||
public registerProvider(providerId: string, provider: data.AdminServicesProvider): void {
|
||||
public registerProvider(providerId: string, provider: sqlops.AdminServicesProvider): void {
|
||||
this._providers[providerId] = provider;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,18 +11,18 @@ import { ConnectionManagementInfo } from 'sql/parts/connection/common/connection
|
||||
import { IAdminService } from 'sql/parts/admin/common/adminService';
|
||||
import { ITaskDialogComponent } from 'sql/parts/tasks/common/tasks';
|
||||
|
||||
import data = require('data');
|
||||
import * as sqlops from 'sqlops';
|
||||
import * as nls from 'vs/nls';
|
||||
|
||||
export const CREATEDATABASE_SELECTOR: string = 'createdatabase-component';
|
||||
|
||||
export interface DatabaseFile {
|
||||
logicalName: string;
|
||||
fileType: string;
|
||||
filegroup: string;
|
||||
initialSize: string;
|
||||
autogrow: string;
|
||||
path: string;
|
||||
logicalName: string;
|
||||
fileType: string;
|
||||
filegroup: string;
|
||||
initialSize: string;
|
||||
autogrow: string;
|
||||
path: string;
|
||||
}
|
||||
|
||||
@Component({
|
||||
@@ -31,43 +31,43 @@ export interface DatabaseFile {
|
||||
})
|
||||
export class CreateDatabaseComponent implements ITaskDialogComponent {
|
||||
|
||||
private _adminService: IAdminService;
|
||||
private _adminService: IAdminService;
|
||||
|
||||
public formSubmitted: boolean = false;
|
||||
public formSubmitted: boolean = false;
|
||||
|
||||
public ownerUri: string;
|
||||
|
||||
public connection: ConnectionManagementInfo;
|
||||
|
||||
public databaseFiles: DatabaseFile[] = [];
|
||||
public databaseFiles: DatabaseFile[] = [];
|
||||
|
||||
// tslint:disable:no-unused-variable
|
||||
private readonly databaseFilesLabel: string = nls.localize('createDatabase.databaseFiles', 'Database files:');
|
||||
private readonly noRecordsFoundLabel: string = nls.localize('createDatabase.noRecordsFound', 'No records found');
|
||||
// tslint:enable:no-unused-variable
|
||||
// tslint:disable:no-unused-variable
|
||||
private readonly databaseFilesLabel: string = nls.localize('createDatabase.databaseFiles', 'Database files:');
|
||||
private readonly noRecordsFoundLabel: string = nls.localize('createDatabase.noRecordsFound', 'No records found');
|
||||
// tslint:enable:no-unused-variable
|
||||
|
||||
constructor(
|
||||
@Inject(forwardRef(() => ElementRef)) private _el: ElementRef,
|
||||
@Inject(forwardRef(() => ChangeDetectorRef)) private _changeDetectorRef: ChangeDetectorRef,
|
||||
@Inject(BOOTSTRAP_SERVICE_ID) private _bootstrapService: IBootstrapService
|
||||
@Inject(forwardRef(() => ElementRef)) private _el: ElementRef,
|
||||
@Inject(forwardRef(() => ChangeDetectorRef)) private _changeDetectorRef: ChangeDetectorRef,
|
||||
@Inject(BOOTSTRAP_SERVICE_ID) private _bootstrapService: IBootstrapService
|
||||
) {
|
||||
this._adminService = this._bootstrapService.adminService;
|
||||
this._adminService = this._bootstrapService.adminService;
|
||||
}
|
||||
|
||||
private getDatabaseInfo(form: NgForm): data.DatabaseInfo {
|
||||
return <data.DatabaseInfo>{
|
||||
options: {
|
||||
name: form.value.databaseName,
|
||||
owner: form.value.databaseOwner
|
||||
}
|
||||
};
|
||||
}
|
||||
private getDatabaseInfo(form: NgForm): sqlops.DatabaseInfo {
|
||||
return <sqlops.DatabaseInfo>{
|
||||
options: {
|
||||
name: form.value.databaseName,
|
||||
owner: form.value.databaseOwner
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public onSubmit(form: NgForm): void {
|
||||
this._adminService.createDatabase(this.ownerUri, this.getDatabaseInfo(form));
|
||||
this.formSubmitted = true;
|
||||
this._changeDetectorRef.detectChanges();
|
||||
}
|
||||
public onSubmit(form: NgForm): void {
|
||||
this._adminService.createDatabase(this.ownerUri, this.getDatabaseInfo(form));
|
||||
this.formSubmitted = true;
|
||||
this._changeDetectorRef.detectChanges();
|
||||
}
|
||||
|
||||
public onOk(): void { }
|
||||
|
||||
@@ -75,24 +75,24 @@ export class CreateDatabaseComponent implements ITaskDialogComponent {
|
||||
|
||||
public onCancel(): void { }
|
||||
|
||||
public onSelectOwner(): void { }
|
||||
public onSelectOwner(): void { }
|
||||
|
||||
public injectBootstapper(parameters: TaskDialogComponentParams ): void {
|
||||
let self = this;
|
||||
this.ownerUri = parameters.ownerUri;
|
||||
this._adminService.getDefaultDatabaseInfo(this.ownerUri).then(dbInfo => {
|
||||
let databaseFilesCount = dbInfo.options['databaseFilesCount'];
|
||||
for (let i = 0; i < databaseFilesCount; ++i) {
|
||||
self.databaseFiles[i] = {
|
||||
logicalName: dbInfo.options['databaseFiles.' + i + '.name'],
|
||||
fileType: dbInfo.options['databaseFiles.' + i + '.databaseFileType'],
|
||||
filegroup: dbInfo.options['databaseFiles.' + i + '.fileGroup'],
|
||||
initialSize: dbInfo.options['databaseFiles.' + i + '.initialSize'],
|
||||
autogrow: dbInfo.options['databaseFiles.' + i + '.autogrowth'],
|
||||
path: dbInfo.options['databaseFiles.' + i + '.folder']
|
||||
};
|
||||
}
|
||||
self._changeDetectorRef.detectChanges();
|
||||
public injectBootstapper(parameters: TaskDialogComponentParams): void {
|
||||
let self = this;
|
||||
this.ownerUri = parameters.ownerUri;
|
||||
this._adminService.getDefaultDatabaseInfo(this.ownerUri).then(dbInfo => {
|
||||
let databaseFilesCount = dbInfo.options['databaseFilesCount'];
|
||||
for (let i = 0; i < databaseFilesCount; ++i) {
|
||||
self.databaseFiles[i] = {
|
||||
logicalName: dbInfo.options['databaseFiles.' + i + '.name'],
|
||||
fileType: dbInfo.options['databaseFiles.' + i + '.databaseFileType'],
|
||||
filegroup: dbInfo.options['databaseFiles.' + i + '.fileGroup'],
|
||||
initialSize: dbInfo.options['databaseFiles.' + i + '.initialSize'],
|
||||
autogrow: dbInfo.options['databaseFiles.' + i + '.autogrowth'],
|
||||
path: dbInfo.options['databaseFiles.' + i + '.folder']
|
||||
};
|
||||
}
|
||||
self._changeDetectorRef.detectChanges();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,12 +9,12 @@ import * as Utils from './utils';
|
||||
import { IConnectionProfile, IConnectionProfileStore } from './interfaces';
|
||||
import { IConnectionConfig } from './iconnectionConfig';
|
||||
import { ConnectionProfileGroup, IConnectionProfileGroup } from './connectionProfileGroup';
|
||||
import { ConfigurationEditingService, IConfigurationValue, IConfigurationValue as TConfigurationValue } from 'vs/workbench/services/configuration/node/configurationEditingService';
|
||||
import { ConfigurationEditingService, IConfigurationValue } from 'vs/workbench/services/configuration/node/configurationEditingService';
|
||||
import { IWorkspaceConfigurationService } from 'vs/workbench/services/configuration/common/configuration';
|
||||
import { ConfigurationTarget } from 'vs/platform/configuration/common/configuration';
|
||||
import { ConnectionProfile } from './connectionProfile';
|
||||
import { ICapabilitiesService } from 'sql/services/capabilities/capabilitiesService';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import * as nls from 'vs/nls';
|
||||
|
||||
import { generateUuid } from 'vs/base/common/uuid';
|
||||
@@ -29,7 +29,7 @@ export interface ISaveGroupResult {
|
||||
*/
|
||||
export class ConnectionConfig implements IConnectionConfig {
|
||||
|
||||
private _providerCapabilitiesMap: { [providerName: string]: data.DataProtocolServerCapabilities };
|
||||
private _providerCapabilitiesMap: { [providerName: string]: sqlops.DataProtocolServerCapabilities };
|
||||
/**
|
||||
* Constructor.
|
||||
*/
|
||||
@@ -37,7 +37,7 @@ export class ConnectionConfig implements IConnectionConfig {
|
||||
private _configurationEditService: ConfigurationEditingService,
|
||||
private _workspaceConfigurationService: IWorkspaceConfigurationService,
|
||||
private _capabilitiesService: ICapabilitiesService,
|
||||
cachedMetadata?: data.DataProtocolServerCapabilities[]
|
||||
cachedMetadata?: sqlops.DataProtocolServerCapabilities[]
|
||||
) {
|
||||
this._providerCapabilitiesMap = {};
|
||||
this.setCachedMetadata(cachedMetadata);
|
||||
@@ -48,7 +48,7 @@ export class ConnectionConfig implements IConnectionConfig {
|
||||
}
|
||||
}
|
||||
|
||||
public setCachedMetadata(cachedMetadata: data.DataProtocolServerCapabilities[]): void {
|
||||
public setCachedMetadata(cachedMetadata: sqlops.DataProtocolServerCapabilities[]): void {
|
||||
if (cachedMetadata) {
|
||||
cachedMetadata.forEach(item => {
|
||||
this.updateCapabilitiesCache(item.providerName, item);
|
||||
@@ -81,13 +81,13 @@ export class ConnectionConfig implements IConnectionConfig {
|
||||
return allGroups;
|
||||
}
|
||||
|
||||
private updateCapabilitiesCache(providerName: string, providerCapabilities: data.DataProtocolServerCapabilities): void {
|
||||
private updateCapabilitiesCache(providerName: string, providerCapabilities: sqlops.DataProtocolServerCapabilities): void {
|
||||
if (providerName && providerCapabilities) {
|
||||
this._providerCapabilitiesMap[providerName] = providerCapabilities;
|
||||
}
|
||||
}
|
||||
|
||||
private getCapabilitiesFromCache(providerName: string): data.DataProtocolServerCapabilities {
|
||||
private getCapabilitiesFromCache(providerName: string): sqlops.DataProtocolServerCapabilities {
|
||||
if (providerName in this._providerCapabilitiesMap) {
|
||||
return this._providerCapabilitiesMap[providerName];
|
||||
}
|
||||
@@ -99,8 +99,8 @@ export class ConnectionConfig implements IConnectionConfig {
|
||||
* Gets the data from the metadata stored in the config
|
||||
* @param providerName Provider Name
|
||||
*/
|
||||
public getCapabilities(providerName: string): data.DataProtocolServerCapabilities {
|
||||
let result: data.DataProtocolServerCapabilities = this.getCapabilitiesFromCache(providerName);
|
||||
public getCapabilities(providerName: string): sqlops.DataProtocolServerCapabilities {
|
||||
let result: sqlops.DataProtocolServerCapabilities = this.getCapabilitiesFromCache(providerName);
|
||||
if (result) {
|
||||
return result;
|
||||
} else {
|
||||
@@ -159,7 +159,7 @@ export class ConnectionConfig implements IConnectionConfig {
|
||||
});
|
||||
}
|
||||
|
||||
private getConnectionProfileInstance(profile: IConnectionProfile, groupId: string, providerCapabilities: data.DataProtocolServerCapabilities): ConnectionProfile {
|
||||
private getConnectionProfileInstance(profile: IConnectionProfile, groupId: string, providerCapabilities: sqlops.DataProtocolServerCapabilities): ConnectionProfile {
|
||||
let connectionProfile = profile as ConnectionProfile;
|
||||
if (connectionProfile === undefined) {
|
||||
connectionProfile = new ConnectionProfile(providerCapabilities, profile);
|
||||
@@ -519,7 +519,7 @@ export class ConnectionConfig implements IConnectionConfig {
|
||||
*/
|
||||
private getConfiguration(key: string): any {
|
||||
let configs: any;
|
||||
configs = this._workspaceConfigurationService.inspect<IConnectionProfileStore[] | IConnectionProfileGroup[] | data.DataProtocolServerCapabilities[]>(key);
|
||||
configs = this._workspaceConfigurationService.inspect<IConnectionProfileStore[] | IConnectionProfileGroup[] | sqlops.DataProtocolServerCapabilities[]>(key);
|
||||
return configs;
|
||||
}
|
||||
|
||||
@@ -530,7 +530,7 @@ export class ConnectionConfig implements IConnectionConfig {
|
||||
*/
|
||||
private writeConfiguration(
|
||||
key: string,
|
||||
profiles: IConnectionProfileStore[] | IConnectionProfileGroup[] | data.DataProtocolServerCapabilities[],
|
||||
profiles: IConnectionProfileStore[] | IConnectionProfileGroup[] | sqlops.DataProtocolServerCapabilities[],
|
||||
target: ConfigurationTarget = ConfigurationTarget.USER): Promise<void> {
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
let configValue: IConfigurationValue = {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
import { ConnectionSummary } from 'data';
|
||||
import { ConnectionSummary } from 'sqlops';
|
||||
import { IStatusbarService } from 'vs/platform/statusbar/common/statusbar';
|
||||
import * as LocalizedConstants from 'sql/parts/connection/common/localizedConstants';
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import Event from 'vs/base/common/event';
|
||||
import { IAction } from 'vs/base/common/actions';
|
||||
import Severity from 'vs/base/common/severity';
|
||||
import data = require('data');
|
||||
import * as sqlops from 'sqlops';
|
||||
import { IConnectionProfileGroup, ConnectionProfileGroup } from 'sql/parts/connection/common/connectionProfileGroup';
|
||||
import { ConnectionProfile } from 'sql/parts/connection/common/connectionProfile';
|
||||
import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
|
||||
@@ -81,7 +81,7 @@ export interface IConnectionManagementService {
|
||||
onConnect: Event<IConnectionParams>;
|
||||
onDisconnect: Event<IConnectionParams>;
|
||||
onConnectionChanged: Event<IConnectionParams>;
|
||||
onLanguageFlavorChanged: Event<data.DidChangeLanguageFlavorParams>;
|
||||
onLanguageFlavorChanged: Event<sqlops.DidChangeLanguageFlavorParams>;
|
||||
|
||||
/**
|
||||
* Opens the connection dialog to create new connection
|
||||
@@ -124,11 +124,11 @@ export interface IConnectionManagementService {
|
||||
/**
|
||||
* Adds the successful connection to MRU and send the connection error back to the connection handler for failed connections
|
||||
*/
|
||||
onConnectionComplete(handle: number, connectionInfoSummary: data.ConnectionInfoSummary): void;
|
||||
onConnectionComplete(handle: number, connectionInfoSummary: sqlops.ConnectionInfoSummary): void;
|
||||
|
||||
onIntelliSenseCacheComplete(handle: number, connectionUri: string): void;
|
||||
|
||||
onConnectionChangedNotification(handle: number, changedConnInfo: data.ChangedConnectionInfo);
|
||||
onConnectionChangedNotification(handle: number, changedConnInfo: sqlops.ChangedConnectionInfo);
|
||||
|
||||
getConnectionGroups(): ConnectionProfileGroup[];
|
||||
|
||||
@@ -150,7 +150,7 @@ export interface IConnectionManagementService {
|
||||
|
||||
deleteConnectionGroup(group: ConnectionProfileGroup): Promise<boolean>;
|
||||
|
||||
getAdvancedProperties(): data.ConnectionOption[];
|
||||
getAdvancedProperties(): sqlops.ConnectionOption[];
|
||||
|
||||
getConnectionId(connectionProfile: IConnectionProfile): string;
|
||||
|
||||
@@ -180,12 +180,12 @@ export interface IConnectionManagementService {
|
||||
|
||||
addSavedPassword(connectionProfile: IConnectionProfile): Promise<IConnectionProfile>;
|
||||
|
||||
listDatabases(connectionUri: string): Thenable<data.ListDatabasesResult>;
|
||||
listDatabases(connectionUri: string): Thenable<sqlops.ListDatabasesResult>;
|
||||
|
||||
/**
|
||||
* Register a connection provider
|
||||
*/
|
||||
registerProvider(providerId: string, provider: data.ConnectionProvider): void;
|
||||
registerProvider(providerId: string, provider: sqlops.ConnectionProvider): void;
|
||||
|
||||
editGroup(group: ConnectionProfileGroup): Promise<void>;
|
||||
|
||||
@@ -216,7 +216,7 @@ export interface IConnectionManagementService {
|
||||
|
||||
hasRegisteredServers(): boolean;
|
||||
|
||||
getCapabilities(providerName: string): data.DataProtocolServerCapabilities;
|
||||
getCapabilities(providerName: string): sqlops.DataProtocolServerCapabilities;
|
||||
|
||||
canChangeConnectionConfig(profile: ConnectionProfile, newGroupID: string): boolean;
|
||||
|
||||
@@ -305,7 +305,7 @@ export interface INewConnectionParams {
|
||||
connectionType: ConnectionType;
|
||||
input?: IConnectableInput;
|
||||
runQueryOnCompletion?: RunQueryOnConnectionMode;
|
||||
querySelection?: data.ISelectionData;
|
||||
querySelection?: sqlops.ISelectionData;
|
||||
showDashboard?: boolean;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
'use strict';
|
||||
|
||||
import { ConnectionProfile } from 'sql/parts/connection/common/connectionProfile';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { StopWatch } from 'vs/base/common/stopwatch';
|
||||
|
||||
/**
|
||||
@@ -64,7 +64,7 @@ export class ConnectionManagementInfo {
|
||||
/**
|
||||
* Information about the connected server.
|
||||
*/
|
||||
serverInfo: data.ServerInfo;
|
||||
serverInfo: sqlops.ServerInfo;
|
||||
|
||||
/**
|
||||
* Owner uri assigned to the connection
|
||||
|
||||
@@ -31,7 +31,7 @@ import { IResourceProviderService } from 'sql/parts/accountManagement/common/int
|
||||
import { IAngularEventingService, AngularEventType } from 'sql/services/angularEventing/angularEventingService';
|
||||
import * as QueryConstants from 'sql/parts/query/common/constants';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
import * as nls from 'vs/nls';
|
||||
import * as errors from 'vs/base/common/errors';
|
||||
@@ -64,7 +64,7 @@ export class ConnectionManagementService implements IConnectionManagementService
|
||||
|
||||
private disposables: IDisposable[] = [];
|
||||
|
||||
private _providers: { [handle: string]: data.ConnectionProvider; } = Object.create(null);
|
||||
private _providers: { [handle: string]: sqlops.ConnectionProvider; } = Object.create(null);
|
||||
|
||||
private _uriToProvider: { [uri: string]: string; } = Object.create(null);
|
||||
|
||||
@@ -76,7 +76,7 @@ export class ConnectionManagementService implements IConnectionManagementService
|
||||
private _onDisconnect: Emitter<IConnectionParams>;
|
||||
private _onConnectRequestSent: Emitter<void>;
|
||||
private _onConnectionChanged: Emitter<IConnectionParams>;
|
||||
private _onLanguageFlavorChanged: Emitter<data.DidChangeLanguageFlavorParams>;
|
||||
private _onLanguageFlavorChanged: Emitter<sqlops.DidChangeLanguageFlavorParams>;
|
||||
|
||||
private _connectionGlobalStatus: ConnectionGlobalStatus;
|
||||
|
||||
@@ -126,7 +126,7 @@ export class ConnectionManagementService implements IConnectionManagementService
|
||||
this._onDisconnect = new Emitter<IConnectionParams>();
|
||||
this._onConnectionChanged = new Emitter<IConnectionParams>();
|
||||
this._onConnectRequestSent = new Emitter<void>();
|
||||
this._onLanguageFlavorChanged = new Emitter<data.DidChangeLanguageFlavorParams>();
|
||||
this._onLanguageFlavorChanged = new Emitter<sqlops.DidChangeLanguageFlavorParams>();
|
||||
|
||||
this._onProvidersReady = new Deferred();
|
||||
|
||||
@@ -182,7 +182,7 @@ export class ConnectionManagementService implements IConnectionManagementService
|
||||
return this._onConnectRequestSent.event;
|
||||
}
|
||||
|
||||
public get onLanguageFlavorChanged(): Event<data.DidChangeLanguageFlavorParams> {
|
||||
public get onLanguageFlavorChanged(): Event<sqlops.DidChangeLanguageFlavorParams> {
|
||||
return this._onLanguageFlavorChanged.event;
|
||||
}
|
||||
|
||||
@@ -195,7 +195,7 @@ export class ConnectionManagementService implements IConnectionManagementService
|
||||
private _providerCount: number = 0;
|
||||
|
||||
// Connection Provider Registration
|
||||
public registerProvider(providerId: string, provider: data.ConnectionProvider): void {
|
||||
public registerProvider(providerId: string, provider: sqlops.ConnectionProvider): void {
|
||||
this._providers[providerId] = provider;
|
||||
|
||||
// temporarily close splash screen when a connection provider has been registered
|
||||
@@ -655,7 +655,7 @@ export class ConnectionManagementService implements IConnectionManagementService
|
||||
return this._connectionStore.clearRecentlyUsed();
|
||||
}
|
||||
|
||||
public clearRecentConnection(connectionProfile: IConnectionProfile) : void {
|
||||
public clearRecentConnection(connectionProfile: IConnectionProfile): void {
|
||||
this._connectionStore.removeConnectionToMemento(connectionProfile, Constants.recentConnections);
|
||||
}
|
||||
|
||||
@@ -679,7 +679,7 @@ export class ConnectionManagementService implements IConnectionManagementService
|
||||
return Object.keys(this._providers);
|
||||
}
|
||||
|
||||
public getCapabilities(providerName: string): data.DataProtocolServerCapabilities {
|
||||
public getCapabilities(providerName: string): sqlops.DataProtocolServerCapabilities {
|
||||
let capabilities = this._capabilitiesService.getCapabilities();
|
||||
if (capabilities !== undefined && capabilities.length > 0) {
|
||||
return capabilities.find(c => c.providerName === providerName);
|
||||
@@ -687,7 +687,7 @@ export class ConnectionManagementService implements IConnectionManagementService
|
||||
return undefined;
|
||||
}
|
||||
|
||||
public getAdvancedProperties(): data.ConnectionOption[] {
|
||||
public getAdvancedProperties(): sqlops.ConnectionOption[] {
|
||||
|
||||
let capabilities = this._capabilitiesService.getCapabilities();
|
||||
if (capabilities !== undefined && capabilities.length > 0) {
|
||||
@@ -832,13 +832,13 @@ export class ConnectionManagementService implements IConnectionManagementService
|
||||
});
|
||||
}
|
||||
|
||||
private sendListDatabasesRequest(uri: string): Thenable<data.ListDatabasesResult> {
|
||||
private sendListDatabasesRequest(uri: string): Thenable<sqlops.ListDatabasesResult> {
|
||||
let providerId: string = this.getProviderIdFromUri(uri);
|
||||
if (!providerId) {
|
||||
return Promise.resolve(undefined);
|
||||
}
|
||||
|
||||
return new Promise<data.ListDatabasesResult>((resolve, reject) => {
|
||||
return new Promise<sqlops.ListDatabasesResult>((resolve, reject) => {
|
||||
let provider = this._providers[providerId];
|
||||
provider.listDatabases(uri).then(result => {
|
||||
if (result && result.databaseNames) {
|
||||
@@ -895,7 +895,7 @@ export class ConnectionManagementService implements IConnectionManagementService
|
||||
});
|
||||
}
|
||||
|
||||
public onConnectionComplete(handle: number, info: data.ConnectionInfoSummary): void {
|
||||
public onConnectionComplete(handle: number, info: sqlops.ConnectionInfoSummary): void {
|
||||
const self = this;
|
||||
let connection = this._connectionStatusManager.onConnectionComplete(info);
|
||||
|
||||
@@ -923,7 +923,7 @@ export class ConnectionManagementService implements IConnectionManagementService
|
||||
}
|
||||
}
|
||||
|
||||
public onConnectionChangedNotification(handle: number, changedConnInfo: data.ChangedConnectionInfo): void {
|
||||
public onConnectionChangedNotification(handle: number, changedConnInfo: sqlops.ChangedConnectionInfo): void {
|
||||
let profile: IConnectionProfile = this._connectionStatusManager.onConnectionChanged(changedConnInfo);
|
||||
this._notifyConnectionChanged(profile, changedConnInfo.connectionUri);
|
||||
}
|
||||
@@ -1023,28 +1023,26 @@ export class ConnectionManagementService implements IConnectionManagementService
|
||||
const self = this;
|
||||
|
||||
return new Promise<IConnectionResult>((resolve, reject) => {
|
||||
this._capabilitiesService.onCapabilitiesReady().then(() => {
|
||||
let connectionInfo = this._connectionStatusManager.addConnection(connection, uri);
|
||||
// Setup the handler for the connection complete notification to call
|
||||
connectionInfo.connectHandler = ((connectResult, errorMessage, errorCode, callStack) => {
|
||||
let connectionMngInfo = this._connectionStatusManager.findConnection(uri);
|
||||
if (connectionMngInfo && connectionMngInfo.deleted) {
|
||||
let connectionInfo = this._connectionStatusManager.addConnection(connection, uri);
|
||||
// Setup the handler for the connection complete notification to call
|
||||
connectionInfo.connectHandler = ((connectResult, errorMessage, errorCode, callStack) => {
|
||||
let connectionMngInfo = this._connectionStatusManager.findConnection(uri);
|
||||
if (connectionMngInfo && connectionMngInfo.deleted) {
|
||||
this._connectionStatusManager.deleteConnection(uri);
|
||||
resolve({ connected: connectResult, errorMessage: undefined, errorCode: undefined, callStack: undefined, errorHandled: true });
|
||||
} else {
|
||||
if (errorMessage) {
|
||||
// Connection to the server failed
|
||||
this._connectionStatusManager.deleteConnection(uri);
|
||||
resolve({ connected: connectResult, errorMessage: undefined, errorCode: undefined, callStack: undefined, errorHandled: true });
|
||||
resolve({ connected: connectResult, errorMessage: errorMessage, errorCode: errorCode, callStack: callStack });
|
||||
} else {
|
||||
if (errorMessage) {
|
||||
// Connection to the server failed
|
||||
this._connectionStatusManager.deleteConnection(uri);
|
||||
resolve({ connected: connectResult, errorMessage: errorMessage, errorCode: errorCode, callStack: callStack });
|
||||
} else {
|
||||
resolve({ connected: connectResult, errorMessage: errorMessage, errorCode: errorCode, callStack: callStack });
|
||||
}
|
||||
resolve({ connected: connectResult, errorMessage: errorMessage, errorCode: errorCode, callStack: callStack });
|
||||
}
|
||||
});
|
||||
|
||||
// send connection request
|
||||
self.sendConnectRequest(connection, uri);
|
||||
}
|
||||
});
|
||||
|
||||
// send connection request
|
||||
self.sendConnectRequest(connection, uri);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1197,7 +1195,7 @@ export class ConnectionManagementService implements IConnectionManagementService
|
||||
return this._connectionStatusManager.isConnected(fileUri) ? this._connectionStatusManager.findConnection(fileUri) : undefined;
|
||||
}
|
||||
|
||||
public listDatabases(connectionUri: string): Thenable<data.ListDatabasesResult> {
|
||||
public listDatabases(connectionUri: string): Thenable<sqlops.ListDatabasesResult> {
|
||||
const self = this;
|
||||
if (self.isConnected(connectionUri)) {
|
||||
return self.sendListDatabasesRequest(connectionUri);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
'use strict';
|
||||
|
||||
import { ConnectionProfileGroup } from './connectionProfileGroup';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { ProviderConnectionInfo } from 'sql/parts/connection/common/providerConnectionInfo';
|
||||
import * as interfaces from 'sql/parts/connection/common/interfaces';
|
||||
import { equalsIgnoreCase } from 'vs/base/common/strings';
|
||||
@@ -28,7 +28,7 @@ export class ConnectionProfile extends ProviderConnectionInfo implements interfa
|
||||
public saveProfile: boolean;
|
||||
|
||||
public isDisconnecting: boolean = false;
|
||||
public constructor(serverCapabilities?: data.DataProtocolServerCapabilities, model?: interfaces.IConnectionProfile) {
|
||||
public constructor(serverCapabilities?: sqlops.DataProtocolServerCapabilities, model?: interfaces.IConnectionProfile) {
|
||||
super(serverCapabilities, model);
|
||||
if (model) {
|
||||
this.groupId = model.groupId;
|
||||
@@ -137,7 +137,7 @@ export class ConnectionProfile extends ProviderConnectionInfo implements interfa
|
||||
return super.getOptionsKey();
|
||||
}
|
||||
|
||||
public onProviderRegistered(serverCapabilities: data.DataProtocolServerCapabilities): void {
|
||||
public onProviderRegistered(serverCapabilities: sqlops.DataProtocolServerCapabilities): void {
|
||||
if (serverCapabilities.providerName === this.providerName) {
|
||||
this.setServerCapabilities(serverCapabilities);
|
||||
}
|
||||
@@ -164,13 +164,13 @@ export class ConnectionProfile extends ProviderConnectionInfo implements interfa
|
||||
return result;
|
||||
}
|
||||
|
||||
public toConnectionInfo(): data.ConnectionInfo {
|
||||
public toConnectionInfo(): sqlops.ConnectionInfo {
|
||||
return {
|
||||
options: this.options
|
||||
};
|
||||
}
|
||||
|
||||
public static createFromStoredProfile(profile: interfaces.IConnectionProfileStore, serverCapabilities: data.DataProtocolServerCapabilities): ConnectionProfile {
|
||||
public static createFromStoredProfile(profile: interfaces.IConnectionProfileStore, serverCapabilities: sqlops.DataProtocolServerCapabilities): ConnectionProfile {
|
||||
let connectionInfo = new ConnectionProfile(serverCapabilities, undefined);
|
||||
connectionInfo.options = profile.options;
|
||||
|
||||
@@ -187,7 +187,7 @@ export class ConnectionProfile extends ProviderConnectionInfo implements interfa
|
||||
return connectionInfo;
|
||||
}
|
||||
|
||||
public static convertToConnectionProfile(serverCapabilities: data.DataProtocolServerCapabilities, conn: interfaces.IConnectionProfile): ConnectionProfile {
|
||||
public static convertToConnectionProfile(serverCapabilities: sqlops.DataProtocolServerCapabilities, conn: interfaces.IConnectionProfile): ConnectionProfile {
|
||||
if (conn) {
|
||||
let connectionProfile: ConnectionProfile = undefined;
|
||||
let connectionProfileInstance = conn as ConnectionProfile;
|
||||
@@ -205,7 +205,7 @@ export class ConnectionProfile extends ProviderConnectionInfo implements interfa
|
||||
}
|
||||
|
||||
public static convertToProfileStore(
|
||||
serverCapabilities: data.DataProtocolServerCapabilities,
|
||||
serverCapabilities: sqlops.DataProtocolServerCapabilities,
|
||||
connectionProfile: interfaces.IConnectionProfile): interfaces.IConnectionProfileStore {
|
||||
if (connectionProfile) {
|
||||
let connectionInfo = ConnectionProfile.convertToConnectionProfile(serverCapabilities, connectionProfile);
|
||||
|
||||
@@ -9,21 +9,21 @@ import { ICapabilitiesService } from 'sql/services/capabilities/capabilitiesServ
|
||||
import { ConnectionProfile } from 'sql/parts/connection/common/connectionProfile';
|
||||
import { IConnectionProfile } from './interfaces';
|
||||
import * as Utils from './utils';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { StopWatch } from 'vs/base/common/stopwatch';
|
||||
|
||||
export class ConnectionStatusManager {
|
||||
|
||||
private _connections: { [id: string]: ConnectionManagementInfo };
|
||||
private _providerCapabilitiesMap: { [providerName: string]: data.DataProtocolServerCapabilities };
|
||||
private _providerCapabilitiesMap: { [providerName: string]: sqlops.DataProtocolServerCapabilities };
|
||||
|
||||
constructor( @ICapabilitiesService private _capabilitiesService: ICapabilitiesService) {
|
||||
this._connections = {};
|
||||
this._providerCapabilitiesMap = {};
|
||||
}
|
||||
|
||||
public getCapabilities(providerName: string): data.DataProtocolServerCapabilities {
|
||||
let result: data.DataProtocolServerCapabilities;
|
||||
public getCapabilities(providerName: string): sqlops.DataProtocolServerCapabilities {
|
||||
let result: sqlops.DataProtocolServerCapabilities;
|
||||
|
||||
if (providerName in this._providerCapabilitiesMap) {
|
||||
result = this._providerCapabilitiesMap[providerName];
|
||||
@@ -126,7 +126,7 @@ export class ConnectionStatusManager {
|
||||
return newId;
|
||||
}
|
||||
|
||||
public onConnectionComplete(summary: data.ConnectionInfoSummary): ConnectionManagementInfo {
|
||||
public onConnectionComplete(summary: sqlops.ConnectionInfoSummary): ConnectionManagementInfo {
|
||||
let connection = this._connections[summary.ownerUri];
|
||||
connection.serviceTimer.stop();
|
||||
connection.connecting = false;
|
||||
@@ -139,7 +139,7 @@ export class ConnectionStatusManager {
|
||||
* Updates database name after connection is complete
|
||||
* @param summary connection summary
|
||||
*/
|
||||
public updateDatabaseName(summary: data.ConnectionInfoSummary): void {
|
||||
public updateDatabaseName(summary: sqlops.ConnectionInfoSummary): void {
|
||||
let connection = this._connections[summary.ownerUri];
|
||||
|
||||
//Check if the existing connection database name is different the one in the summary
|
||||
@@ -174,7 +174,7 @@ export class ConnectionStatusManager {
|
||||
return ownerUriToReturn;
|
||||
}
|
||||
|
||||
public onConnectionChanged(changedConnInfo: data.ChangedConnectionInfo): IConnectionProfile {
|
||||
public onConnectionChanged(changedConnInfo: sqlops.ChangedConnectionInfo): IConnectionProfile {
|
||||
let connection = this._connections[changedConnInfo.connectionUri];
|
||||
if (connection && connection.connectionProfile) {
|
||||
connection.connectionProfile.serverName = changedConnInfo.connection.serverName;
|
||||
|
||||
@@ -18,9 +18,10 @@ import { ConnectionProfileGroup, IConnectionProfileGroup } from './connectionPro
|
||||
import { ConfigurationEditingService } from 'vs/workbench/services/configuration/node/configurationEditingService';
|
||||
import { IWorkspaceConfigurationService } from 'vs/workbench/services/configuration/common/configuration';
|
||||
import { ICapabilitiesService } from 'sql/services/capabilities/capabilitiesService';
|
||||
import * as data from 'data';
|
||||
import { ConnectionOptionSpecialType } from 'sql/workbench/api/common/sqlExtHostTypes';
|
||||
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
const MAX_CONNECTIONS_DEFAULT = 25;
|
||||
|
||||
/**
|
||||
@@ -213,9 +214,9 @@ export class ConnectionStore {
|
||||
});
|
||||
}
|
||||
|
||||
private getCachedServerCapabilities(): data.DataProtocolServerCapabilities[] {
|
||||
private getCachedServerCapabilities(): sqlops.DataProtocolServerCapabilities[] {
|
||||
if (this._memento) {
|
||||
let metadata: data.DataProtocolServerCapabilities[] = this._memento[Constants.capabilitiesOptions];
|
||||
let metadata: sqlops.DataProtocolServerCapabilities[] = this._memento[Constants.capabilitiesOptions];
|
||||
return metadata;
|
||||
} else {
|
||||
return undefined;
|
||||
@@ -234,7 +235,7 @@ export class ConnectionStore {
|
||||
* Gets the list of recently used connections. These will not include the password - a separate call to
|
||||
* {addSavedPassword} is needed to fill that before connecting
|
||||
*
|
||||
* @returns {data.ConnectionInfo} the array of connections, empty if none are found
|
||||
* @returns {sqlops.ConnectionInfo} the array of connections, empty if none are found
|
||||
*/
|
||||
public getRecentlyUsedConnections(): ConnectionProfile[] {
|
||||
let configValues: IConnectionProfile[] = this._memento[Constants.recentConnections];
|
||||
@@ -275,7 +276,7 @@ export class ConnectionStore {
|
||||
* Gets the list of active connections. These will not include the password - a separate call to
|
||||
* {addSavedPassword} is needed to fill that before connecting
|
||||
*
|
||||
* @returns {data.ConnectionInfo} the array of connections, empty if none are found
|
||||
* @returns {sqlops.ConnectionInfo} the array of connections, empty if none are found
|
||||
*/
|
||||
public getActiveConnections(): ConnectionProfile[] {
|
||||
let configValues: IConnectionProfile[] = this._memento[Constants.activeConnections];
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
import { IConnectionProfile } from './interfaces';
|
||||
import { IConnectionProfileGroup, ConnectionProfileGroup } from './connectionProfileGroup';
|
||||
import { ConnectionProfile } from './connectionProfile';
|
||||
import data = require('data');
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
/**
|
||||
* Interface for a configuration file that stores connection profiles.
|
||||
@@ -23,8 +23,8 @@ export interface IConnectionConfig {
|
||||
getAllGroups(): IConnectionProfileGroup[];
|
||||
changeGroupIdForConnectionGroup(source: ConnectionProfileGroup, target: ConnectionProfileGroup): Promise<void>;
|
||||
changeGroupIdForConnection(source: ConnectionProfile, targetGroupId: string): Promise<void>;
|
||||
setCachedMetadata(cachedMetaData: data.DataProtocolServerCapabilities[]): void;
|
||||
getCapabilities(providerName: string): data.DataProtocolServerCapabilities;
|
||||
setCachedMetadata(cachedMetaData: sqlops.DataProtocolServerCapabilities[]): void;
|
||||
getCapabilities(providerName: string): sqlops.DataProtocolServerCapabilities;
|
||||
editGroup(group: ConnectionProfileGroup): Promise<void>;
|
||||
deleteConnection(profile: ConnectionProfile): Promise<void>;
|
||||
deleteGroup(group: ConnectionProfileGroup): Promise<void>;
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
// A Connection Profile contains all the properties of connection credentials, with additional
|
||||
// optional name and details on whether password should be saved
|
||||
export interface IConnectionProfile extends data.ConnectionInfo {
|
||||
export interface IConnectionProfile extends sqlops.ConnectionInfo {
|
||||
serverName: string;
|
||||
databaseName: string;
|
||||
userName: string;
|
||||
|
||||
@@ -5,21 +5,21 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
import data = require('data');
|
||||
import * as sqlops from 'sqlops';
|
||||
import * as interfaces from 'sql/parts/connection/common/interfaces';
|
||||
import { ConnectionOptionSpecialType, ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes';
|
||||
import * as Constants from 'sql/parts/connection/common/constants';
|
||||
|
||||
export class ProviderConnectionInfo implements data.ConnectionInfo {
|
||||
export class ProviderConnectionInfo implements sqlops.ConnectionInfo {
|
||||
|
||||
options: { [name: string]: any };
|
||||
|
||||
public providerName: string;
|
||||
protected _serverCapabilities: data.DataProtocolServerCapabilities;
|
||||
protected _serverCapabilities: sqlops.DataProtocolServerCapabilities;
|
||||
private static readonly SqlAuthentication = 'SqlLogin';
|
||||
public static readonly ProviderPropertyName = 'providerName';
|
||||
|
||||
public constructor(serverCapabilities?: data.DataProtocolServerCapabilities, model?: interfaces.IConnectionProfile) {
|
||||
public constructor(serverCapabilities?: sqlops.DataProtocolServerCapabilities, model?: interfaces.IConnectionProfile) {
|
||||
this.options = {};
|
||||
if (serverCapabilities) {
|
||||
this._serverCapabilities = serverCapabilities;
|
||||
@@ -47,11 +47,11 @@ export class ProviderConnectionInfo implements data.ConnectionInfo {
|
||||
return instance;
|
||||
}
|
||||
|
||||
public get serverCapabilities(): data.DataProtocolServerCapabilities {
|
||||
public get serverCapabilities(): sqlops.DataProtocolServerCapabilities {
|
||||
return this._serverCapabilities;
|
||||
}
|
||||
|
||||
public setServerCapabilities(value: data.DataProtocolServerCapabilities) {
|
||||
public setServerCapabilities(value: sqlops.DataProtocolServerCapabilities) {
|
||||
this._serverCapabilities = value;
|
||||
}
|
||||
|
||||
@@ -220,7 +220,7 @@ export class ProviderConnectionInfo implements data.ConnectionInfo {
|
||||
return displayName;
|
||||
}
|
||||
|
||||
public getProviderOptions(): data.ConnectionOption[] {
|
||||
public getProviderOptions(): sqlops.ConnectionOption[] {
|
||||
return this._serverCapabilities.connectionProvider.options;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
// // import { AdvancedPropertiesDialog } from 'sql/parts/connection/connectionDialog/advancedPropertiesDialog';
|
||||
import { OptionsDialog } from 'sql/base/browser/ui/modal/optionsDialog';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import data = require('data');
|
||||
import * as sqlops from 'sqlops';
|
||||
import { localize } from 'vs/nls';
|
||||
import * as TelemetryKeys from 'sql/common/telemetryKeys';
|
||||
|
||||
@@ -28,7 +28,7 @@ export class AdvancedPropertiesController {
|
||||
this._options = this._advancedDialog.optionValues;
|
||||
}
|
||||
|
||||
public showDialog(providerOptions: data.ConnectionOption[], container: HTMLElement, options: { [name: string]: any }): void {
|
||||
public showDialog(providerOptions: sqlops.ConnectionOption[], container: HTMLElement, options: { [name: string]: any }): void {
|
||||
this._options = options;
|
||||
this._container = container;
|
||||
var serviceOptions = providerOptions.map(option => AdvancedPropertiesController.connectionOptionToServiceOption(option));
|
||||
@@ -51,7 +51,7 @@ export class AdvancedPropertiesController {
|
||||
this._advancedDialog = dialog;
|
||||
}
|
||||
|
||||
public static connectionOptionToServiceOption(connectionOption: data.ConnectionOption): data.ServiceOption {
|
||||
public static connectionOptionToServiceOption(connectionOption: sqlops.ConnectionOption): sqlops.ServiceOption {
|
||||
return {
|
||||
name: connectionOption.name,
|
||||
displayName: connectionOption.displayName,
|
||||
|
||||
@@ -12,7 +12,7 @@ import { AdvancedPropertiesController } from 'sql/parts/connection/connectionDia
|
||||
import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
|
||||
import { ConnectionProfileGroup, IConnectionProfileGroup } from 'sql/parts/connection/common/connectionProfileGroup';
|
||||
import * as Constants from 'sql/parts/connection/common/constants';
|
||||
import data = require('data');
|
||||
import * as sqlops from 'sqlops';
|
||||
import * as Utils from 'sql/parts/connection/common/utils';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { ConnectionOptionSpecialType } from 'sql/workbench/api/common/sqlExtHostTypes';
|
||||
@@ -24,14 +24,14 @@ export class ConnectionController implements IConnectionComponentController {
|
||||
private _connectionWidget: ConnectionWidget;
|
||||
private _advancedController: AdvancedPropertiesController;
|
||||
private _model: IConnectionProfile;
|
||||
private _providerOptions: data.ConnectionOption[];
|
||||
private _providerOptions: sqlops.ConnectionOption[];
|
||||
private _providerName: string;
|
||||
/* key: uri, value : list of databases */
|
||||
private _databaseCache = new Map<string, string[]>();
|
||||
|
||||
constructor(container: HTMLElement,
|
||||
connectionManagementService: IConnectionManagementService,
|
||||
sqlCapabilities: data.DataProtocolServerCapabilities,
|
||||
sqlCapabilities: sqlops.DataProtocolServerCapabilities,
|
||||
callback: IConnectionComponentCallbacks,
|
||||
providerName: string,
|
||||
@IInstantiationService private _instantiationService: IInstantiationService ) {
|
||||
|
||||
@@ -18,7 +18,7 @@ import { ICapabilitiesService } from 'sql/services/capabilities/capabilitiesServ
|
||||
import { ConnectionProfile } from 'sql/parts/connection/common/connectionProfile';
|
||||
import { localize } from 'vs/nls';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
import { IPartService } from 'vs/workbench/services/part/common/partService';
|
||||
import { withElementById } from 'vs/base/browser/builder';
|
||||
@@ -69,7 +69,7 @@ export class ConnectionDialogService implements IConnectionDialogService {
|
||||
private _model: ConnectionProfile;
|
||||
private _params: INewConnectionParams;
|
||||
private _inputModel: IConnectionProfile;
|
||||
private _capabilitiesMaps: { [providerDisplayName: string]: data.DataProtocolServerCapabilities };
|
||||
private _capabilitiesMaps: { [providerDisplayName: string]: sqlops.DataProtocolServerCapabilities };
|
||||
private _providerNameToDisplayNameMap: { [providerDisplayName: string]: string };
|
||||
private _providerTypes: string[];
|
||||
private _currentProviderType: string = 'Microsoft SQL Server';
|
||||
@@ -270,7 +270,7 @@ export class ConnectionDialogService implements IConnectionDialogService {
|
||||
return newProfile;
|
||||
}
|
||||
|
||||
private cacheCapabilities(capabilities: data.DataProtocolServerCapabilities) {
|
||||
private cacheCapabilities(capabilities: sqlops.DataProtocolServerCapabilities) {
|
||||
if (capabilities) {
|
||||
this._providerTypes.push(capabilities.providerDisplayName);
|
||||
this._capabilitiesMaps[capabilities.providerName] = capabilities;
|
||||
|
||||
@@ -23,7 +23,7 @@ import { IThemeService } from 'vs/platform/theme/common/themeService';
|
||||
import * as styler from 'vs/platform/theme/common/styler';
|
||||
import { attachInputBoxStyler, attachButtonStyler, attachEditableDropdownStyler } from 'sql/common/theme/styler';
|
||||
import * as DOM from 'vs/base/browser/dom';
|
||||
import data = require('data');
|
||||
import * as sqlops from 'sqlops';
|
||||
import { IContextViewService } from 'vs/platform/contextview/browser/contextView';
|
||||
import { localize } from 'vs/nls';
|
||||
import { OS, OperatingSystem } from 'vs/base/common/platform';
|
||||
@@ -44,7 +44,7 @@ export class ConnectionWidget {
|
||||
private _callbacks: IConnectionComponentCallbacks;
|
||||
private _authTypeSelectBox: SelectBox;
|
||||
private _toDispose: lifecycle.IDisposable[];
|
||||
private _optionsMaps: { [optionType: number]: data.ConnectionOption };
|
||||
private _optionsMaps: { [optionType: number]: sqlops.ConnectionOption };
|
||||
private _tableContainer: Builder;
|
||||
private _focusedBeforeHandleOnConnection: HTMLElement;
|
||||
private _providerName: string;
|
||||
@@ -77,7 +77,7 @@ export class ConnectionWidget {
|
||||
color: undefined,
|
||||
description: undefined,
|
||||
};
|
||||
constructor(options: data.ConnectionOption[],
|
||||
constructor(options: sqlops.ConnectionOption[],
|
||||
callbacks: IConnectionComponentCallbacks,
|
||||
providerName: string,
|
||||
@IThemeService private _themeService: IThemeService,
|
||||
|
||||
@@ -16,7 +16,7 @@ import { TabConfig } from 'sql/parts/dashboard/common/dashboardWidget';
|
||||
import { DashboardServiceInterface } from 'sql/parts/dashboard/services/dashboardServiceInterface.service';
|
||||
import { IDashboardWebview } from 'sql/services/dashboardWebview/common/dashboardWebviewService';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { memoize } from 'vs/base/common/decorators';
|
||||
|
||||
@Component({
|
||||
@@ -55,9 +55,9 @@ export class WebviewContent implements OnInit, IDashboardWebview {
|
||||
}
|
||||
|
||||
@memoize
|
||||
public get connection(): data.connection.Connection {
|
||||
public get connection(): sqlops.connection.Connection {
|
||||
let currentConnection = this._dashboardService.connectionManagementService.connectionInfo.connectionProfile;
|
||||
let connection: data.connection.Connection = {
|
||||
let connection: sqlops.connection.Connection = {
|
||||
providerName: currentConnection.providerName,
|
||||
connectionId: currentConnection.id,
|
||||
options: currentConnection.options
|
||||
@@ -66,7 +66,7 @@ export class WebviewContent implements OnInit, IDashboardWebview {
|
||||
}
|
||||
|
||||
@memoize
|
||||
public get serverInfo(): data.ServerInfo {
|
||||
public get serverInfo(): sqlops.ServerInfo {
|
||||
return this._dashboardService.connectionManagementService.connectionInfo.serverInfo;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
import * as data from 'data';
|
||||
import Event, { Emitter } from 'vs/base/common/event';
|
||||
|
||||
import { IDashboardTab } from 'sql/platform/dashboard/common/dashboardRegistry';
|
||||
|
||||
@@ -24,7 +24,7 @@ import { AngularEventType, IAngularEvent } from 'sql/services/angularEventing/an
|
||||
import { IDashboardTab } from 'sql/platform/dashboard/common/dashboardRegistry';
|
||||
import { PinConfig } from 'sql/parts/dashboard/common/dashboardWidget';
|
||||
|
||||
import { ProviderMetadata, DatabaseInfo, SimpleExecuteResult } from 'data';
|
||||
import { ProviderMetadata, DatabaseInfo, SimpleExecuteResult } from 'sqlops';
|
||||
|
||||
/* VS imports */
|
||||
import { IWorkbenchThemeService } from 'vs/workbench/services/themes/common/workbenchThemeService';
|
||||
|
||||
@@ -16,7 +16,7 @@ import { ICapabilitiesService } from 'sql/services/capabilities/capabilitiesServ
|
||||
import { ConnectionManagementInfo } from 'sql/parts/connection/common/connectionManagementInfo';
|
||||
import * as Constants from 'sql/parts/connection/common/constants';
|
||||
|
||||
import { ObjectMetadata } from 'data';
|
||||
import { ObjectMetadata } from 'sqlops';
|
||||
|
||||
import * as tree from 'vs/base/parts/tree/browser/tree';
|
||||
import * as TreeDefaults from 'vs/base/parts/tree/browser/treeDefaults';
|
||||
|
||||
@@ -18,7 +18,7 @@ import { Extensions, IInsightRegistry } from 'sql/platform/dashboard/common/insi
|
||||
import { insertValueRegex } from 'sql/parts/insights/common/interfaces';
|
||||
import { RunInsightQueryAction } from './actions';
|
||||
|
||||
import { SimpleExecuteResult } from 'data';
|
||||
import { SimpleExecuteResult } from 'sqlops';
|
||||
|
||||
import { Action } from 'vs/base/common/actions';
|
||||
import * as types from 'vs/base/common/types';
|
||||
|
||||
@@ -12,7 +12,7 @@ import { toDisposableSubscription } from 'sql/parts/common/rxjsUtils';
|
||||
import { error } from 'sql/base/common/log';
|
||||
import { IDashboardRegistry, Extensions as DashboardExtensions } from 'sql/platform/dashboard/common/dashboardRegistry';
|
||||
|
||||
import { DatabaseInfo, ServerInfo } from 'data';
|
||||
import { DatabaseInfo, ServerInfo } from 'sqlops';
|
||||
|
||||
import { EventType, addDisposableListener } from 'vs/base/browser/dom';
|
||||
import * as types from 'vs/base/common/types';
|
||||
|
||||
@@ -15,7 +15,7 @@ import { DashboardWidget, IDashboardWidget, WidgetConfig, WIDGET_CONFIG } from '
|
||||
import { DashboardServiceInterface } from 'sql/parts/dashboard/services/dashboardServiceInterface.service';
|
||||
import { IDashboardWebview } from 'sql/services/dashboardWebview/common/dashboardWebviewService';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
interface IWebviewWidgetConfig {
|
||||
id: string;
|
||||
@@ -64,9 +64,9 @@ export class WebviewWidget extends DashboardWidget implements IDashboardWidget,
|
||||
}
|
||||
|
||||
@memoize
|
||||
public get connection(): data.connection.Connection {
|
||||
public get connection(): sqlops.connection.Connection {
|
||||
let currentConnection = this._dashboardService.connectionManagementService.connectionInfo.connectionProfile;
|
||||
let connection: data.connection.Connection = {
|
||||
let connection: sqlops.connection.Connection = {
|
||||
providerName: currentConnection.providerName,
|
||||
connectionId: currentConnection.id,
|
||||
options: currentConnection.options
|
||||
@@ -75,7 +75,7 @@ export class WebviewWidget extends DashboardWidget implements IDashboardWidget,
|
||||
}
|
||||
|
||||
@memoize
|
||||
public get serverInfo(): data.ServerInfo {
|
||||
public get serverInfo(): sqlops.ServerInfo {
|
||||
return this._dashboardService.connectionManagementService.connectionInfo.serverInfo;
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import Event from 'vs/base/common/event';
|
||||
import data = require('data');
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
import { DashboardComponentParams } from 'sql/services/bootstrap/bootstrapParams';
|
||||
import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
|
||||
@@ -53,15 +53,15 @@ export const IBackupService = createDecorator<IBackupService>(SERVICE_ID);
|
||||
export interface IBackupService {
|
||||
_serviceBrand: any;
|
||||
|
||||
getBackupConfigInfo(connectionUri: string): Thenable<data.BackupConfigInfo>;
|
||||
getBackupConfigInfo(connectionUri: string): Thenable<sqlops.BackupConfigInfo>;
|
||||
|
||||
/**
|
||||
* Backup a data source using the provided connection
|
||||
*/
|
||||
backup(connectionUri: string, backupInfo: { [key: string]: any }, taskExecutionMode: data.TaskExecutionMode): Thenable<data.BackupResponse>;
|
||||
backup(connectionUri: string, backupInfo: { [key: string]: any }, taskExecutionMode: sqlops.TaskExecutionMode): Thenable<sqlops.BackupResponse>;
|
||||
|
||||
/**
|
||||
* Register a disaster recovery provider
|
||||
*/
|
||||
registerProvider(providerId: string, provider: data.BackupProvider): void;
|
||||
registerProvider(providerId: string, provider: sqlops.BackupProvider): void;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
'use strict';
|
||||
import { IConnectionManagementService } from 'sql/parts/connection/common/connectionManagement';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import * as Constants from 'sql/common/constants';
|
||||
import * as TelemetryKeys from 'sql/common/telemetryKeys';
|
||||
import * as TelemetryUtils from 'sql/common/telemetryUtilities';
|
||||
@@ -26,7 +26,7 @@ import { ProviderConnectionInfo } from 'sql/parts/connection/common/providerConn
|
||||
export class BackupService implements IBackupService {
|
||||
|
||||
public _serviceBrand: any;
|
||||
private _providers: { [handle: string]: data.BackupProvider; } = Object.create(null);
|
||||
private _providers: { [handle: string]: sqlops.BackupProvider; } = Object.create(null);
|
||||
|
||||
constructor(
|
||||
@IConnectionManagementService private _connectionService: IConnectionManagementService,
|
||||
@@ -37,7 +37,7 @@ export class BackupService implements IBackupService {
|
||||
/**
|
||||
* Get database metadata needed to populate backup UI
|
||||
*/
|
||||
public getBackupConfigInfo(connectionUri: string): Thenable<data.BackupConfigInfo> {
|
||||
public getBackupConfigInfo(connectionUri: string): Thenable<sqlops.BackupConfigInfo> {
|
||||
let providerId: string = this._connectionService.getProviderIdFromUri(connectionUri);
|
||||
if (providerId) {
|
||||
let provider = this._providers[providerId];
|
||||
@@ -51,8 +51,8 @@ export class BackupService implements IBackupService {
|
||||
/**
|
||||
* Backup a data source using the provided connection
|
||||
*/
|
||||
public backup(connectionUri: string, backupInfo: { [key: string]: any }, taskExecutionMode: TaskExecutionMode): Thenable<data.BackupResponse> {
|
||||
return new Promise<data.BackupResponse>((resolve, reject) => {
|
||||
public backup(connectionUri: string, backupInfo: { [key: string]: any }, taskExecutionMode: TaskExecutionMode): Thenable<sqlops.BackupResponse> {
|
||||
return new Promise<sqlops.BackupResponse>((resolve, reject) => {
|
||||
let providerResult = this.getProvider(connectionUri);
|
||||
if (providerResult) {
|
||||
TelemetryUtils.addTelemetry(this._telemetryService, TelemetryKeys.BackupCreated, { provider: providerResult.providerName });
|
||||
@@ -67,7 +67,7 @@ export class BackupService implements IBackupService {
|
||||
});
|
||||
}
|
||||
|
||||
private getProvider(connectionUri: string): { provider: data.BackupProvider, providerName: string } {
|
||||
private getProvider(connectionUri: string): { provider: sqlops.BackupProvider, providerName: string } {
|
||||
let providerId: string = this._connectionService.getProviderIdFromUri(connectionUri);
|
||||
if (providerId) {
|
||||
return { provider: this._providers[providerId], providerName: providerId };
|
||||
@@ -79,7 +79,7 @@ export class BackupService implements IBackupService {
|
||||
/**
|
||||
* Register a disaster recovery provider
|
||||
*/
|
||||
public registerProvider(providerId: string, provider: data.BackupProvider): void {
|
||||
public registerProvider(providerId: string, provider: sqlops.BackupProvider): void {
|
||||
this._providers[providerId] = provider;
|
||||
}
|
||||
}
|
||||
@@ -88,7 +88,7 @@ export class BackupUiService implements IBackupUiService {
|
||||
public _serviceBrand: any;
|
||||
private _backupDialogs: { [providerName: string]: BackupDialog | OptionsDialog } = {};
|
||||
private _currentProvider: string;
|
||||
private _optionsMap: { [providerName: string]: data.ServiceOption[] } = {};
|
||||
private _optionsMap: { [providerName: string]: sqlops.ServiceOption[] } = {};
|
||||
private _optionValues: { [optionName: string]: any } = {};
|
||||
private _connectionUri: string;
|
||||
private static _connectionUniqueId: number = 0;
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
|
||||
|
||||
@@ -21,27 +21,27 @@ export interface IRestoreService {
|
||||
/**
|
||||
* Register a disaster recovery provider
|
||||
*/
|
||||
registerProvider(providerId: string, provider: data.RestoreProvider): void;
|
||||
registerProvider(providerId: string, provider: sqlops.RestoreProvider): void;
|
||||
|
||||
/**
|
||||
* Restore a data source using a backup file or database
|
||||
*/
|
||||
restore(connectionUri: string, restoreInfo: data.RestoreInfo): Thenable<data.RestoreResponse>;
|
||||
restore(connectionUri: string, restoreInfo: sqlops.RestoreInfo): Thenable<sqlops.RestoreResponse>;
|
||||
|
||||
/**
|
||||
* Gets restore plan to do the restore operation on a database
|
||||
*/
|
||||
getRestorePlan(connectionUri: string, restoreInfo: data.RestoreInfo): Thenable<data.RestorePlanResponse>;
|
||||
getRestorePlan(connectionUri: string, restoreInfo: sqlops.RestoreInfo): Thenable<sqlops.RestorePlanResponse>;
|
||||
|
||||
/**
|
||||
* Gets restore config Info
|
||||
*/
|
||||
getRestoreConfigInfo(connectionUri: string): Thenable<data.RestoreConfigInfo>;
|
||||
getRestoreConfigInfo(connectionUri: string): Thenable<sqlops.RestoreConfigInfo>;
|
||||
|
||||
/**
|
||||
* Cancel restore plan
|
||||
*/
|
||||
cancelRestorePlan(connectionUri: string, restoreInfo: data.RestoreInfo): Thenable<boolean>;
|
||||
cancelRestorePlan(connectionUri: string, restoreInfo: sqlops.RestoreInfo): Thenable<boolean>;
|
||||
}
|
||||
|
||||
export const IRestoreDialogController = createDecorator<IRestoreDialogController>('restoreDialogService');
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
'use strict';
|
||||
import { IConnectionManagementService } from 'sql/parts/connection/common/connectionManagement';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import * as Constants from 'sql/common/constants';
|
||||
import * as TelemetryKeys from 'sql/common/telemetryKeys';
|
||||
@@ -29,7 +29,7 @@ import { TaskStatus, TaskNode } from 'sql/parts/taskHistory/common/taskNode';
|
||||
export class RestoreService implements IRestoreService {
|
||||
|
||||
public _serviceBrand: any;
|
||||
private _providers: { [handle: string]: data.RestoreProvider; } = Object.create(null);
|
||||
private _providers: { [handle: string]: sqlops.RestoreProvider; } = Object.create(null);
|
||||
|
||||
constructor(
|
||||
@IConnectionManagementService private _connectionService: IConnectionManagementService,
|
||||
@@ -40,8 +40,8 @@ export class RestoreService implements IRestoreService {
|
||||
/**
|
||||
* Gets restore config Info
|
||||
*/
|
||||
getRestoreConfigInfo(connectionUri: string): Thenable<data.RestoreConfigInfo> {
|
||||
return new Promise<data.RestoreConfigInfo>((resolve, reject) => {
|
||||
getRestoreConfigInfo(connectionUri: string): Thenable<sqlops.RestoreConfigInfo> {
|
||||
return new Promise<sqlops.RestoreConfigInfo>((resolve, reject) => {
|
||||
let providerResult = this.getProvider(connectionUri);
|
||||
if (providerResult) {
|
||||
providerResult.provider.getRestoreConfigInfo(connectionUri).then(result => {
|
||||
@@ -58,8 +58,8 @@ export class RestoreService implements IRestoreService {
|
||||
/**
|
||||
* Restore a data source using a backup file or database
|
||||
*/
|
||||
restore(connectionUri: string, restoreInfo: data.RestoreInfo): Thenable<data.RestoreResponse> {
|
||||
return new Promise<data.RestoreResponse>((resolve, reject) => {
|
||||
restore(connectionUri: string, restoreInfo: sqlops.RestoreInfo): Thenable<sqlops.RestoreResponse> {
|
||||
return new Promise<sqlops.RestoreResponse>((resolve, reject) => {
|
||||
let providerResult = this.getProvider(connectionUri);
|
||||
if (providerResult) {
|
||||
TelemetryUtils.addTelemetry(this._telemetryService, TelemetryKeys.RestoreRequested, { provider: providerResult.providerName });
|
||||
@@ -74,7 +74,7 @@ export class RestoreService implements IRestoreService {
|
||||
});
|
||||
}
|
||||
|
||||
private getProvider(connectionUri: string): { provider: data.RestoreProvider, providerName: string } {
|
||||
private getProvider(connectionUri: string): { provider: sqlops.RestoreProvider, providerName: string } {
|
||||
let providerId: string = this._connectionService.getProviderIdFromUri(connectionUri);
|
||||
if (providerId) {
|
||||
return { provider: this._providers[providerId], providerName: providerId };
|
||||
@@ -86,8 +86,8 @@ export class RestoreService implements IRestoreService {
|
||||
/**
|
||||
* Gets restore plan to do the restore operation on a database
|
||||
*/
|
||||
getRestorePlan(connectionUri: string, restoreInfo: data.RestoreInfo): Thenable<data.RestorePlanResponse> {
|
||||
return new Promise<data.RestorePlanResponse>((resolve, reject) => {
|
||||
getRestorePlan(connectionUri: string, restoreInfo: sqlops.RestoreInfo): Thenable<sqlops.RestorePlanResponse> {
|
||||
return new Promise<sqlops.RestorePlanResponse>((resolve, reject) => {
|
||||
let providerResult = this.getProvider(connectionUri);
|
||||
if (providerResult) {
|
||||
providerResult.provider.getRestorePlan(connectionUri, restoreInfo).then(result => {
|
||||
@@ -105,7 +105,7 @@ export class RestoreService implements IRestoreService {
|
||||
/**
|
||||
* Cancels a restore plan
|
||||
*/
|
||||
cancelRestorePlan(connectionUri: string, restoreInfo: data.RestoreInfo): Thenable<boolean> {
|
||||
cancelRestorePlan(connectionUri: string, restoreInfo: sqlops.RestoreInfo): Thenable<boolean> {
|
||||
return new Promise<boolean>((resolve, reject) => {
|
||||
let providerResult = this.getProvider(connectionUri);
|
||||
if (providerResult) {
|
||||
@@ -124,7 +124,7 @@ export class RestoreService implements IRestoreService {
|
||||
/**
|
||||
* Register a disaster recovery provider
|
||||
*/
|
||||
public registerProvider(providerId: string, provider: data.RestoreProvider): void {
|
||||
public registerProvider(providerId: string, provider: sqlops.RestoreProvider): void {
|
||||
this._providers[providerId] = provider;
|
||||
}
|
||||
}
|
||||
@@ -232,7 +232,7 @@ export class RestoreDialogController implements IRestoreDialogController {
|
||||
});
|
||||
}
|
||||
|
||||
private setRestoreOption(overwriteTargetDatabase: boolean = false): data.RestoreInfo {
|
||||
private setRestoreOption(overwriteTargetDatabase: boolean = false): sqlops.RestoreInfo {
|
||||
let restoreInfo = undefined;
|
||||
|
||||
let providerId: string = this.getCurrentProviderId();
|
||||
@@ -263,8 +263,8 @@ export class RestoreDialogController implements IRestoreDialogController {
|
||||
return restoreInfo;
|
||||
}
|
||||
|
||||
private getRestoreOption(): data.ServiceOption[] {
|
||||
let options: data.ServiceOption[] = [];
|
||||
private getRestoreOption(): sqlops.ServiceOption[] {
|
||||
let options: sqlops.ServiceOption[] = [];
|
||||
let providerId: string = this.getCurrentProviderId();
|
||||
let providerCapabilities = this._capabilitiesService.getCapabilities().find(c => c.providerName === providerId);
|
||||
|
||||
|
||||
@@ -5,12 +5,12 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
import data = require('data');
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
export class MssqlRestoreInfo implements data.RestoreInfo {
|
||||
export class MssqlRestoreInfo implements sqlops.RestoreInfo {
|
||||
|
||||
options: { [name: string]: any };
|
||||
taskExecutionMode: data.TaskExecutionMode;
|
||||
taskExecutionMode: sqlops.TaskExecutionMode;
|
||||
|
||||
public constructor() {
|
||||
this.options = {};
|
||||
|
||||
@@ -37,7 +37,7 @@ import { IBootstrapService } from 'sql/services/bootstrap/bootstrapService';
|
||||
import { Dropdown } from 'sql/base/browser/ui/editableDropdown/dropdown';
|
||||
import { TabbedPanel, PanelTabIdentifier } from 'sql/base/browser/ui/panel/panel';
|
||||
import * as DOM from 'vs/base/browser/dom';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import * as strings from 'vs/base/common/strings';
|
||||
import { ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes';
|
||||
|
||||
@@ -117,7 +117,7 @@ export class RestoreDialog extends Modal {
|
||||
public onDatabaseListFocused: Event<void> = this._onDatabaseListFocused.event;
|
||||
|
||||
constructor(
|
||||
optionsMetadata: data.ServiceOption[],
|
||||
optionsMetadata: sqlops.ServiceOption[],
|
||||
@IPartService partService: IPartService,
|
||||
@IThemeService private _themeService: IThemeService,
|
||||
@IContextViewService private _contextViewService: IContextViewService,
|
||||
@@ -802,7 +802,7 @@ export class RestoreDialog extends Modal {
|
||||
}
|
||||
}
|
||||
|
||||
private updateRestoreDatabaseFiles(dbFiles: data.RestoreDatabaseFileInfo[]) {
|
||||
private updateRestoreDatabaseFiles(dbFiles: sqlops.RestoreDatabaseFileInfo[]) {
|
||||
this._fileListData.clear();
|
||||
if (dbFiles) {
|
||||
let data = [];
|
||||
@@ -823,7 +823,7 @@ export class RestoreDialog extends Modal {
|
||||
}
|
||||
}
|
||||
|
||||
private updateBackupSetsToRestore(backupSetsToRestore: data.DatabaseFileInfo[]) {
|
||||
private updateBackupSetsToRestore(backupSetsToRestore: sqlops.DatabaseFileInfo[]) {
|
||||
if (this._isBackupFileCheckboxChanged) {
|
||||
let selectedRow = [];
|
||||
for (let i = 0; i < backupSetsToRestore.length; i++) {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import * as DialogHelper from 'sql/base/browser/ui/modal/dialogHelper';
|
||||
import * as types from 'vs/base/common/types';
|
||||
|
||||
@@ -12,7 +12,7 @@ import Event, { Emitter } from 'vs/base/common/event';
|
||||
import { ServiceOptionType } from 'sql/workbench/api/common/sqlExtHostTypes';
|
||||
|
||||
export interface RestoreOptionsElement {
|
||||
optionMetadata: data.ServiceOption;
|
||||
optionMetadata: sqlops.ServiceOption;
|
||||
defaultValue: any;
|
||||
currentValue: any;
|
||||
}
|
||||
@@ -62,15 +62,15 @@ export class RestoreViewModel {
|
||||
private _onSetRestoreOption = new Emitter<RestoreOptionParam>();
|
||||
public onSetRestoreOption: Event<RestoreOptionParam> = this._onSetRestoreOption.event;
|
||||
|
||||
private _onUpdateBackupSetsToRestore = new Emitter<data.DatabaseFileInfo[]>();
|
||||
public onUpdateBackupSetsToRestore: Event<data.DatabaseFileInfo[]> = this._onUpdateBackupSetsToRestore.event;
|
||||
private _onUpdateBackupSetsToRestore = new Emitter<sqlops.DatabaseFileInfo[]>();
|
||||
public onUpdateBackupSetsToRestore: Event<sqlops.DatabaseFileInfo[]> = this._onUpdateBackupSetsToRestore.event;
|
||||
|
||||
private _onUpdateRestoreDatabaseFiles = new Emitter<data.RestoreDatabaseFileInfo[]>();
|
||||
public onUpdateRestoreDatabaseFiles: Event<data.RestoreDatabaseFileInfo[]> = this._onUpdateRestoreDatabaseFiles.event;
|
||||
private _onUpdateRestoreDatabaseFiles = new Emitter<sqlops.RestoreDatabaseFileInfo[]>();
|
||||
public onUpdateRestoreDatabaseFiles: Event<sqlops.RestoreDatabaseFileInfo[]> = this._onUpdateRestoreDatabaseFiles.event;
|
||||
|
||||
private _optionsMap: { [name: string]: RestoreOptionsElement } = {};
|
||||
|
||||
constructor(optionsMetadata: data.ServiceOption[]) {
|
||||
constructor(optionsMetadata: sqlops.ServiceOption[]) {
|
||||
optionsMetadata.forEach(optionMetadata => {
|
||||
let defaultValue = this.getDisplayValue(optionMetadata, optionMetadata.defaultValue);
|
||||
this._optionsMap[optionMetadata.name] = {
|
||||
@@ -84,7 +84,7 @@ export class RestoreViewModel {
|
||||
/**
|
||||
* Get option display value
|
||||
*/
|
||||
public getDisplayValue(optionMetadata: data.ServiceOption, optionValue: any): any {
|
||||
public getDisplayValue(optionMetadata: sqlops.ServiceOption, optionValue: any): any {
|
||||
let displayValue: any;
|
||||
switch (optionMetadata.valueType) {
|
||||
case ServiceOptionType.boolean:
|
||||
@@ -119,7 +119,7 @@ export class RestoreViewModel {
|
||||
/**
|
||||
* Get option metadata from the option map
|
||||
*/
|
||||
public getOptionMetadata(optionName: string): data.ServiceOption {
|
||||
public getOptionMetadata(optionName: string): sqlops.ServiceOption {
|
||||
return this._optionsMap[optionName] ? this._optionsMap[optionName].optionMetadata : undefined;
|
||||
}
|
||||
|
||||
@@ -170,7 +170,7 @@ export class RestoreViewModel {
|
||||
/**
|
||||
* On restore plan response will update all the information from restore plan response
|
||||
*/
|
||||
public onRestorePlanResponse(restorePlanResponse: data.RestorePlanResponse): void {
|
||||
public onRestorePlanResponse(restorePlanResponse: sqlops.RestorePlanResponse): void {
|
||||
if (restorePlanResponse.planDetails && restorePlanResponse.planDetails['lastBackupTaken']) {
|
||||
this.updateLastBackupTaken(restorePlanResponse.planDetails['lastBackupTaken'].currentValue);
|
||||
}
|
||||
@@ -187,7 +187,7 @@ export class RestoreViewModel {
|
||||
/**
|
||||
* Update options with plan details
|
||||
*/
|
||||
public updateOptionWithPlanDetail(planDetails: { [key: string]: data.RestorePlanDetailInfo }): void {
|
||||
public updateOptionWithPlanDetail(planDetails: { [key: string]: sqlops.RestorePlanDetailInfo }): void {
|
||||
if (planDetails) {
|
||||
for (var key in planDetails) {
|
||||
let optionElement = this._optionsMap[key];
|
||||
@@ -234,7 +234,7 @@ export class RestoreViewModel {
|
||||
/**
|
||||
* Update backup sets to restore
|
||||
*/
|
||||
public updateBackupSetsToRestore(backupSetsToRestore: data.DatabaseFileInfo[]): void {
|
||||
public updateBackupSetsToRestore(backupSetsToRestore: sqlops.DatabaseFileInfo[]): void {
|
||||
this.selectedBackupSets = null;
|
||||
if (backupSetsToRestore) {
|
||||
this.selectedBackupSets = [];
|
||||
|
||||
@@ -10,7 +10,7 @@ import { IMessageService, Severity } from 'vs/platform/message/common/message';
|
||||
import { IQueryModelService } from 'sql/parts/query/execution/queryModel';
|
||||
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
|
||||
import Event, { Emitter } from 'vs/base/common/event';
|
||||
import { EditSessionReadyParams } from 'data';
|
||||
import { EditSessionReadyParams } from 'sqlops';
|
||||
import URI from 'vs/base/common/uri';
|
||||
import nls = require('vs/nls');
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { IConnectionManagementService, IErrorMessageService } from 'sql/parts/connection/common/connectionManagement';
|
||||
import { FileBrowserTree } from 'sql/parts/fileBrowser/common/fileBrowserTree';
|
||||
import { FileNode } from 'sql/parts/fileBrowser/common/fileNode';
|
||||
@@ -20,10 +20,10 @@ import * as strings from 'vs/base/common/strings';
|
||||
|
||||
export class FileBrowserService implements IFileBrowserService {
|
||||
public _serviceBrand: any;
|
||||
private _providers: { [handle: string]: data.FileBrowserProvider; } = Object.create(null);
|
||||
private _providers: { [handle: string]: sqlops.FileBrowserProvider; } = Object.create(null);
|
||||
private _onAddFileTree = new Emitter<FileBrowserTree>();
|
||||
private _onExpandFolder = new Emitter<FileNode>();
|
||||
private _onPathValidate = new Emitter<data.FileBrowserValidatedParams>();
|
||||
private _onPathValidate = new Emitter<sqlops.FileBrowserValidatedParams>();
|
||||
private _pathToFileNodeMap: { [path: string]: FileNode } = {};
|
||||
private _expandResolveMap: { [key: string]: any } = {};
|
||||
static fileNodeId: number = 0;
|
||||
@@ -33,7 +33,7 @@ export class FileBrowserService implements IFileBrowserService {
|
||||
@IErrorMessageService private _errorMessageService: IErrorMessageService) {
|
||||
}
|
||||
|
||||
public registerProvider(providerId: string, provider: data.FileBrowserProvider): void {
|
||||
public registerProvider(providerId: string, provider: sqlops.FileBrowserProvider): void {
|
||||
this._providers[providerId] = provider;
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ export class FileBrowserService implements IFileBrowserService {
|
||||
return this._onExpandFolder.event;
|
||||
}
|
||||
|
||||
public get onPathValidate(): Event<data.FileBrowserValidatedParams> {
|
||||
public get onPathValidate(): Event<sqlops.FileBrowserValidatedParams> {
|
||||
return this._onPathValidate.event;
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ export class FileBrowserService implements IFileBrowserService {
|
||||
});
|
||||
}
|
||||
|
||||
public onFileBrowserOpened(handle: number, fileBrowserOpenedParams: data.FileBrowserOpenedParams) {
|
||||
public onFileBrowserOpened(handle: number, fileBrowserOpenedParams: sqlops.FileBrowserOpenedParams) {
|
||||
if (fileBrowserOpenedParams.succeeded === true
|
||||
&& fileBrowserOpenedParams.fileTree
|
||||
&& fileBrowserOpenedParams.fileTree.rootNode
|
||||
@@ -98,7 +98,7 @@ export class FileBrowserService implements IFileBrowserService {
|
||||
});
|
||||
}
|
||||
|
||||
public onFolderNodeExpanded(handle: number, fileBrowserExpandedParams: data.FileBrowserExpandedParams) {
|
||||
public onFolderNodeExpanded(handle: number, fileBrowserExpandedParams: sqlops.FileBrowserExpandedParams) {
|
||||
var mapKey = this.generateResolveMapKey(fileBrowserExpandedParams.ownerUri, fileBrowserExpandedParams.expandPath);
|
||||
var expandResolve = this._expandResolveMap[mapKey];
|
||||
if (expandResolve) {
|
||||
@@ -135,11 +135,11 @@ export class FileBrowserService implements IFileBrowserService {
|
||||
});
|
||||
}
|
||||
|
||||
public onFilePathsValidated(handle: number, fileBrowserValidatedParams: data.FileBrowserValidatedParams) {
|
||||
public onFilePathsValidated(handle: number, fileBrowserValidatedParams: sqlops.FileBrowserValidatedParams) {
|
||||
this._onPathValidate.fire(fileBrowserValidatedParams);
|
||||
}
|
||||
|
||||
public closeFileBrowser(ownerUri: string): Thenable<data.FileBrowserCloseResponse> {
|
||||
public closeFileBrowser(ownerUri: string): Thenable<sqlops.FileBrowserCloseResponse> {
|
||||
let provider = this.getProvider(ownerUri);
|
||||
if (provider) {
|
||||
return provider.closeFileBrowser(ownerUri);
|
||||
@@ -150,7 +150,7 @@ export class FileBrowserService implements IFileBrowserService {
|
||||
private generateResolveMapKey(ownerUri: string, expandPath: string): string {
|
||||
return ownerUri + ':' + expandPath;
|
||||
}
|
||||
private getProvider(connectionUri: string): data.FileBrowserProvider {
|
||||
private getProvider(connectionUri: string): sqlops.FileBrowserProvider {
|
||||
let providerId: string = this._connectionService.getProviderIdFromUri(connectionUri);
|
||||
if (providerId) {
|
||||
return this._providers[providerId];
|
||||
@@ -159,7 +159,7 @@ export class FileBrowserService implements IFileBrowserService {
|
||||
}
|
||||
}
|
||||
|
||||
private convertFileTree(parentNode: FileNode, fileTreeNode: data.FileTreeNode, expandPath: string, ownerUri: string): FileBrowserTree {
|
||||
private convertFileTree(parentNode: FileNode, fileTreeNode: sqlops.FileTreeNode, expandPath: string, ownerUri: string): FileBrowserTree {
|
||||
FileBrowserService.fileNodeId += 1;
|
||||
var expandedNodes: FileNode[] = [];
|
||||
var selectedNode: FileNode;
|
||||
@@ -208,7 +208,7 @@ export class FileBrowserService implements IFileBrowserService {
|
||||
return { rootNode: fileNode, selectedNode: selectedNode, expandedNodes: expandedNodes };
|
||||
}
|
||||
|
||||
private convertChildren(expandedNode: FileNode, childrenToConvert: data.FileTreeNode[], ownerUri: string): FileNode[] {
|
||||
private convertChildren(expandedNode: FileNode, childrenToConvert: sqlops.FileTreeNode[], ownerUri: string): FileNode[] {
|
||||
var childrenNodes = [];
|
||||
|
||||
for (var i = 0; i < childrenToConvert.length; i++) {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { FileBrowserTree } from 'sql/parts/fileBrowser/common/fileBrowserTree';
|
||||
import { FileNode } from 'sql/parts/fileBrowser/common/fileNode';
|
||||
import Event from 'vs/base/common/event';
|
||||
@@ -19,7 +19,7 @@ export interface IFileBrowserDialogController {
|
||||
*/
|
||||
showDialog(ownerUri: string,
|
||||
expandPath: string,
|
||||
fileFilters: [{label: string, filters: string[]}],
|
||||
fileFilters: [{ label: string, filters: string[] }],
|
||||
fileValidationServiceType: string,
|
||||
isWide: boolean,
|
||||
handleOnOk: (path: string) => void): void;
|
||||
@@ -30,12 +30,12 @@ export interface IFileBrowserService {
|
||||
_serviceBrand: any;
|
||||
onAddFileTree: Event<FileBrowserTree>;
|
||||
onExpandFolder: Event<FileNode>;
|
||||
onPathValidate: Event<data.FileBrowserValidatedParams>;
|
||||
onPathValidate: Event<sqlops.FileBrowserValidatedParams>;
|
||||
|
||||
/**
|
||||
* Register file browser provider
|
||||
*/
|
||||
registerProvider(providerId: string, provider: data.FileBrowserProvider): void;
|
||||
registerProvider(providerId: string, provider: sqlops.FileBrowserProvider): void;
|
||||
|
||||
/**
|
||||
* Open file browser
|
||||
@@ -45,7 +45,7 @@ export interface IFileBrowserService {
|
||||
/**
|
||||
* Event called when file browser is opened
|
||||
*/
|
||||
onFileBrowserOpened(handle: number, fileBrowserOpenedParams: data.FileBrowserOpenedParams);
|
||||
onFileBrowserOpened(handle: number, fileBrowserOpenedParams: sqlops.FileBrowserOpenedParams);
|
||||
|
||||
/**
|
||||
* Expand folder node
|
||||
@@ -55,7 +55,7 @@ export interface IFileBrowserService {
|
||||
/**
|
||||
* Event called when children nodes are retrieved
|
||||
*/
|
||||
onFolderNodeExpanded(handle: number, fileBrowserExpandedParams: data.FileBrowserExpandedParams);
|
||||
onFolderNodeExpanded(handle: number, fileBrowserExpandedParams: sqlops.FileBrowserExpandedParams);
|
||||
|
||||
/**
|
||||
* Validate selected file paths
|
||||
@@ -65,10 +65,10 @@ export interface IFileBrowserService {
|
||||
/**
|
||||
* Event called when the validation is complete
|
||||
*/
|
||||
onFilePathsValidated(handle: number, fileBrowserValidatedParams: data.FileBrowserValidatedParams);
|
||||
onFilePathsValidated(handle: number, fileBrowserValidatedParams: sqlops.FileBrowserValidatedParams);
|
||||
|
||||
/**
|
||||
* Close file browser
|
||||
*/
|
||||
closeFileBrowser(ownerUri: string): Thenable<data.FileBrowserCloseResponse>;
|
||||
closeFileBrowser(ownerUri: string): Thenable<sqlops.FileBrowserCloseResponse>;
|
||||
}
|
||||
@@ -9,7 +9,7 @@ import { Observable } from 'rxjs/Observable';
|
||||
import { Subject } from 'rxjs/Subject';
|
||||
import { Observer } from 'rxjs/Observer';
|
||||
|
||||
import { ResultSetSubset, EditUpdateCellResult, EditSubsetResult, EditCreateRowResult } from 'data';
|
||||
import { ResultSetSubset, EditUpdateCellResult, EditSubsetResult, EditCreateRowResult } from 'sqlops';
|
||||
import { IQueryModelService } from 'sql/parts/query/execution/queryModel';
|
||||
import { ResultSerializer } from 'sql/parts/query/common/resultSerializer';
|
||||
import { ISaveRequest } from 'sql/parts/grid/common/interfaces';
|
||||
|
||||
@@ -11,7 +11,7 @@ import * as Utils from 'sql/parts/connection/common/utils';
|
||||
import { IInsightsDialogModel, insertValueRegex } from 'sql/parts/insights/common/interfaces';
|
||||
import { error } from 'sql/base/common/log';
|
||||
|
||||
import { DbCellValue, IDbColumn, QueryExecuteSubsetResult } from 'data';
|
||||
import { DbCellValue, IDbColumn, QueryExecuteSubsetResult } from 'sqlops';
|
||||
|
||||
import Severity from 'vs/base/common/severity';
|
||||
import * as types from 'vs/base/common/types';
|
||||
|
||||
@@ -8,7 +8,7 @@ import { IProfilerSession, IProfilerService, ProfilerSessionID, IProfilerSession
|
||||
import { ProfilerState } from './profilerState';
|
||||
import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import { EditorInput } from 'vs/workbench/common/editor';
|
||||
@@ -123,9 +123,9 @@ export class ProfilerInput extends EditorInput implements IProfilerSession {
|
||||
return this._state;
|
||||
}
|
||||
|
||||
public onMoreRows(eventMessage: data.ProfilerSessionEvents) {
|
||||
public onMoreRows(eventMessage: sqlops.ProfilerSessionEvents) {
|
||||
for (let i: number = 0; i < eventMessage.events.length && i < 500; ++i) {
|
||||
let e: data.ProfilerEvent = eventMessage.events[i];
|
||||
let e: sqlops.ProfilerEvent = eventMessage.events[i];
|
||||
let data = {};
|
||||
data['EventClass'] = e.name;
|
||||
data['StartTime'] = e.timestamp;
|
||||
|
||||
@@ -7,7 +7,7 @@ import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
|
||||
import { ProfilerInput } from 'sql/parts/profiler/editor/profilerInput';
|
||||
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
const PROFILER_SERVICE_ID = 'profilerService';
|
||||
export const IProfilerService = createDecorator<IProfilerService>(PROFILER_SERVICE_ID);
|
||||
@@ -24,7 +24,7 @@ export interface IProfilerSession {
|
||||
/**
|
||||
* Called by the service when more rows are available to render
|
||||
*/
|
||||
onMoreRows(events: data.ProfilerSessionEvents);
|
||||
onMoreRows(events: sqlops.ProfilerSessionEvents);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -35,7 +35,7 @@ export interface IProfilerService {
|
||||
/**
|
||||
* Registers a backend provider for profiler session. ex: mssql
|
||||
*/
|
||||
registerProvider(providerId: string, provider: data.ProfilerProvider): void;
|
||||
registerProvider(providerId: string, provider: sqlops.ProfilerProvider): void;
|
||||
/**
|
||||
* Registers a session with the service that acts as the UI for a profiler session
|
||||
* @returns An unique id that should be used to make subsequent calls to this service
|
||||
@@ -64,7 +64,7 @@ export interface IProfilerService {
|
||||
/**
|
||||
* The method called by the service provider for when more rows are available to render
|
||||
*/
|
||||
onMoreRows(params: data.ProfilerSessionEvents): void;
|
||||
onMoreRows(params: sqlops.ProfilerSessionEvents): void;
|
||||
/**
|
||||
* Gets a list of the session templates that are specified in the settings
|
||||
* @param provider An optional string to limit the session template to a specific
|
||||
|
||||
@@ -12,7 +12,7 @@ import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
|
||||
import { ProfilerInput } from 'sql/parts/profiler/editor/profilerInput';
|
||||
import { ProfilerColumnEditorDialog } from 'sql/parts/profiler/dialog/profilerColumnEditorDialog';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
||||
@@ -44,7 +44,7 @@ class TwoWayMap<T, K> {
|
||||
|
||||
export class ProfilerService implements IProfilerService {
|
||||
public _serviceBrand: any;
|
||||
private _providers = new Map<string, data.ProfilerProvider>();
|
||||
private _providers = new Map<string, sqlops.ProfilerProvider>();
|
||||
private _idMap = new TwoWayMap<ProfilerSessionID, string>();
|
||||
private _sessionMap = new Map<ProfilerSessionID, IProfilerSession>();
|
||||
private _dialog: ProfilerColumnEditorDialog;
|
||||
@@ -55,7 +55,7 @@ export class ProfilerService implements IProfilerService {
|
||||
@IInstantiationService private _instantiationService: IInstantiationService
|
||||
) { }
|
||||
|
||||
public registerProvider(providerId: string, provider: data.ProfilerProvider): void {
|
||||
public registerProvider(providerId: string, provider: sqlops.ProfilerProvider): void {
|
||||
this._providers.set(providerId, provider);
|
||||
}
|
||||
|
||||
@@ -77,7 +77,7 @@ export class ProfilerService implements IProfilerService {
|
||||
return uri;
|
||||
}
|
||||
|
||||
public onMoreRows(params: data.ProfilerSessionEvents): void {
|
||||
public onMoreRows(params: sqlops.ProfilerSessionEvents): void {
|
||||
|
||||
this._sessionMap.get(this._idMap.reverseGet(params.sessionId)).onMoreRows(params);
|
||||
}
|
||||
@@ -102,7 +102,7 @@ export class ProfilerService implements IProfilerService {
|
||||
return this._runAction(id, provider => provider.stopSession(this._idMap.get(id)));
|
||||
}
|
||||
|
||||
private _runAction<T>(id: ProfilerSessionID, action: (handler: data.ProfilerProvider) => Thenable<T>): Thenable<T> {
|
||||
private _runAction<T>(id: ProfilerSessionID, action: (handler: sqlops.ProfilerProvider) => Thenable<T>): Thenable<T> {
|
||||
// let providerId = this._connectionService.getProviderIdFromUri(this._idMap.get(id));
|
||||
let providerId = 'MSSQL';
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import * as pfs from 'vs/base/node/pfs';
|
||||
import * as path from 'path';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
declare var __dirname;
|
||||
|
||||
@@ -30,7 +30,7 @@ const columns = [
|
||||
'BinaryData'
|
||||
];
|
||||
|
||||
export class ProfilerTestBackend implements data.ProfilerProvider {
|
||||
export class ProfilerTestBackend implements sqlops.ProfilerProvider {
|
||||
public readonly providerId = 'MSSQL';
|
||||
private index = 0;
|
||||
private timeOutMap = new Map<string, number>();
|
||||
@@ -44,7 +44,7 @@ export class ProfilerTestBackend implements data.ProfilerProvider {
|
||||
return TPromise.as(true);
|
||||
}
|
||||
|
||||
registerOnSessionEventsAvailable(handler: (response: data.ProfilerSessionEvents) => any) {
|
||||
registerOnSessionEventsAvailable(handler: (response: sqlops.ProfilerSessionEvents) => any) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ import nls = require('vs/nls');
|
||||
import { IConnectionManagementService } from 'sql/parts/connection/common/connectionManagement';
|
||||
import * as WorkbenchUtils from 'sql/workbench/common/sqlWorkbenchUtils';
|
||||
|
||||
import { DidChangeLanguageFlavorParams } from 'data';
|
||||
import { DidChangeLanguageFlavorParams } from 'sqlops';
|
||||
|
||||
export interface ISqlProviderEntry extends IPickOpenEntry {
|
||||
providerId: string;
|
||||
|
||||
@@ -12,7 +12,7 @@ import { IQueryModelService } from 'sql/parts/query/execution/queryModel';
|
||||
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
|
||||
import Event, { Emitter } from 'vs/base/common/event';
|
||||
import URI from 'vs/base/common/uri';
|
||||
import { ISelectionData, ExecutionPlanOptions } from 'data';
|
||||
import { ISelectionData, ExecutionPlanOptions } from 'sqlops';
|
||||
import { IQueryEditorService } from 'sql/parts/query/common/queryEditorService';
|
||||
|
||||
/**
|
||||
|
||||
@@ -7,7 +7,7 @@ import QueryRunner from 'sql/parts/query/execution/queryRunner';
|
||||
import { IConnectionManagementService } from 'sql/parts/connection/common/connectionManagement';
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IDisposable } from 'vs/base/common/lifecycle';
|
||||
import data = require('data');
|
||||
import * as sqlops from 'sqlops';
|
||||
import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import * as TelemetryKeys from 'sql/common/telemetryKeys';
|
||||
import * as TelemetryUtils from 'sql/common/telemetryUtilities';
|
||||
@@ -23,21 +23,21 @@ export interface IQueryManagementService {
|
||||
addQueryRequestHandler(queryType: string, runner: IQueryRequestHandler): IDisposable;
|
||||
registerRunner(runner: QueryRunner, uri: string): void;
|
||||
|
||||
cancelQuery(ownerUri: string): Thenable<data.QueryCancelResult>;
|
||||
runQuery(ownerUri: string, selection: data.ISelectionData, runOptions?: data.ExecutionPlanOptions): Thenable<void>;
|
||||
cancelQuery(ownerUri: string): Thenable<sqlops.QueryCancelResult>;
|
||||
runQuery(ownerUri: string, selection: sqlops.ISelectionData, runOptions?: sqlops.ExecutionPlanOptions): Thenable<void>;
|
||||
runQueryStatement(ownerUri: string, line: number, column: number): Thenable<void>;
|
||||
runQueryString(ownerUri: string, queryString: string): Thenable<void>;
|
||||
runQueryAndReturn(ownerUri: string, queryString: string): Thenable<data.SimpleExecuteResult>;
|
||||
getQueryRows(rowData: data.QueryExecuteSubsetParams): Thenable<data.QueryExecuteSubsetResult>;
|
||||
runQueryAndReturn(ownerUri: string, queryString: string): Thenable<sqlops.SimpleExecuteResult>;
|
||||
getQueryRows(rowData: sqlops.QueryExecuteSubsetParams): Thenable<sqlops.QueryExecuteSubsetResult>;
|
||||
disposeQuery(ownerUri: string): Thenable<void>;
|
||||
saveResults(requestParams: data.SaveResultsRequestParams): Thenable<data.SaveResultRequestResult>;
|
||||
saveResults(requestParams: sqlops.SaveResultsRequestParams): Thenable<sqlops.SaveResultRequestResult>;
|
||||
|
||||
// Callbacks
|
||||
onQueryComplete(result: data.QueryExecuteCompleteNotificationResult): void;
|
||||
onBatchStart(batchInfo: data.QueryExecuteBatchNotificationParams): void;
|
||||
onBatchComplete(batchInfo: data.QueryExecuteBatchNotificationParams): void;
|
||||
onResultSetComplete(resultSetInfo: data.QueryExecuteResultSetCompleteNotificationParams): void;
|
||||
onMessage(message: data.QueryExecuteMessageParams): void;
|
||||
onQueryComplete(result: sqlops.QueryExecuteCompleteNotificationResult): void;
|
||||
onBatchStart(batchInfo: sqlops.QueryExecuteBatchNotificationParams): void;
|
||||
onBatchComplete(batchInfo: sqlops.QueryExecuteBatchNotificationParams): void;
|
||||
onResultSetComplete(resultSetInfo: sqlops.QueryExecuteResultSetCompleteNotificationParams): void;
|
||||
onMessage(message: sqlops.QueryExecuteMessageParams): void;
|
||||
|
||||
// Edit Data Callbacks
|
||||
onEditSessionReady(ownerUri: string, success: boolean, message: string): void;
|
||||
@@ -45,38 +45,38 @@ export interface IQueryManagementService {
|
||||
// Edit Data Functions
|
||||
initializeEdit(ownerUri: string, schemaName: string, objectName: string, objectType: string, rowLimit: number): Thenable<void>;
|
||||
disposeEdit(ownerUri: string): Thenable<void>;
|
||||
updateCell(ownerUri: string, rowId: number, columnId: number, newValue: string): Thenable<data.EditUpdateCellResult>;
|
||||
updateCell(ownerUri: string, rowId: number, columnId: number, newValue: string): Thenable<sqlops.EditUpdateCellResult>;
|
||||
commitEdit(ownerUri): Thenable<void>;
|
||||
createRow(ownerUri: string): Thenable<data.EditCreateRowResult>;
|
||||
createRow(ownerUri: string): Thenable<sqlops.EditCreateRowResult>;
|
||||
deleteRow(ownerUri: string, rowId: number): Thenable<void>;
|
||||
revertCell(ownerUri: string, rowId: number, columnId: number): Thenable<data.EditRevertCellResult>;
|
||||
revertCell(ownerUri: string, rowId: number, columnId: number): Thenable<sqlops.EditRevertCellResult>;
|
||||
revertRow(ownerUri: string, rowId: number): Thenable<void>;
|
||||
getEditRows(rowData: data.EditSubsetParams): Thenable<data.EditSubsetResult>;
|
||||
getEditRows(rowData: sqlops.EditSubsetParams): Thenable<sqlops.EditSubsetResult>;
|
||||
}
|
||||
|
||||
/*
|
||||
* An object that can handle basic request-response actions related to queries
|
||||
*/
|
||||
export interface IQueryRequestHandler {
|
||||
cancelQuery(ownerUri: string): Thenable<data.QueryCancelResult>;
|
||||
runQuery(ownerUri: string, selection: data.ISelectionData, runOptions?: data.ExecutionPlanOptions): Thenable<void>;
|
||||
cancelQuery(ownerUri: string): Thenable<sqlops.QueryCancelResult>;
|
||||
runQuery(ownerUri: string, selection: sqlops.ISelectionData, runOptions?: sqlops.ExecutionPlanOptions): Thenable<void>;
|
||||
runQueryStatement(ownerUri: string, line: number, column: number): Thenable<void>;
|
||||
runQueryString(ownerUri: string, queryString: string): Thenable<void>;
|
||||
runQueryAndReturn(ownerUri: string, queryString: string): Thenable<data.SimpleExecuteResult>;
|
||||
getQueryRows(rowData: data.QueryExecuteSubsetParams): Thenable<data.QueryExecuteSubsetResult>;
|
||||
runQueryAndReturn(ownerUri: string, queryString: string): Thenable<sqlops.SimpleExecuteResult>;
|
||||
getQueryRows(rowData: sqlops.QueryExecuteSubsetParams): Thenable<sqlops.QueryExecuteSubsetResult>;
|
||||
disposeQuery(ownerUri: string): Thenable<void>;
|
||||
saveResults(requestParams: data.SaveResultsRequestParams): Thenable<data.SaveResultRequestResult>;
|
||||
saveResults(requestParams: sqlops.SaveResultsRequestParams): Thenable<sqlops.SaveResultRequestResult>;
|
||||
|
||||
// Edit Data actions
|
||||
initializeEdit(ownerUri: string, schemaName: string, objectName: string, objectType: string, rowLimit: number): Thenable<void>;
|
||||
disposeEdit(ownerUri: string): Thenable<void>;
|
||||
updateCell(ownerUri: string, rowId: number, columnId: number, newValue: string): Thenable<data.EditUpdateCellResult>;
|
||||
updateCell(ownerUri: string, rowId: number, columnId: number, newValue: string): Thenable<sqlops.EditUpdateCellResult>;
|
||||
commitEdit(ownerUri): Thenable<void>;
|
||||
createRow(ownerUri: string): Thenable<data.EditCreateRowResult>;
|
||||
createRow(ownerUri: string): Thenable<sqlops.EditCreateRowResult>;
|
||||
deleteRow(ownerUri: string, rowId: number): Thenable<void>;
|
||||
revertCell(ownerUri: string, rowId: number, columnId: number): Thenable<data.EditRevertCellResult>;
|
||||
revertCell(ownerUri: string, rowId: number, columnId: number): Thenable<sqlops.EditRevertCellResult>;
|
||||
revertRow(ownerUri: string, rowId: number): Thenable<void>;
|
||||
getEditRows(rowData: data.EditSubsetParams): Thenable<data.EditSubsetResult>;
|
||||
getEditRows(rowData: sqlops.EditSubsetParams): Thenable<sqlops.EditSubsetResult>;
|
||||
}
|
||||
|
||||
export class QueryManagementService implements IQueryManagementService {
|
||||
@@ -141,7 +141,7 @@ export class QueryManagementService implements IQueryManagementService {
|
||||
};
|
||||
}
|
||||
|
||||
private addTelemetry(eventName: string, ownerUri: string, runOptions?: data.ExecutionPlanOptions): void {
|
||||
private addTelemetry(eventName: string, ownerUri: string, runOptions?: sqlops.ExecutionPlanOptions): void {
|
||||
let providerId: string = this._connectionService.getProviderIdFromUri(ownerUri);
|
||||
let data: TelemetryUtils.IConnectionTelemetryData = {
|
||||
provider: providerId,
|
||||
@@ -169,13 +169,13 @@ export class QueryManagementService implements IQueryManagementService {
|
||||
}
|
||||
}
|
||||
|
||||
public cancelQuery(ownerUri: string): Thenable<data.QueryCancelResult> {
|
||||
public cancelQuery(ownerUri: string): Thenable<sqlops.QueryCancelResult> {
|
||||
this.addTelemetry(TelemetryKeys.CancelQuery, ownerUri);
|
||||
return this._runAction(ownerUri, (runner) => {
|
||||
return runner.cancelQuery(ownerUri);
|
||||
});
|
||||
}
|
||||
public runQuery(ownerUri: string, selection: data.ISelectionData, runOptions?: data.ExecutionPlanOptions): Thenable<void> {
|
||||
public runQuery(ownerUri: string, selection: sqlops.ISelectionData, runOptions?: sqlops.ExecutionPlanOptions): Thenable<void> {
|
||||
this.addTelemetry(TelemetryKeys.RunQuery, ownerUri, runOptions);
|
||||
return this._runAction(ownerUri, (runner) => {
|
||||
return runner.runQuery(ownerUri, selection, runOptions);
|
||||
@@ -192,12 +192,12 @@ export class QueryManagementService implements IQueryManagementService {
|
||||
return runner.runQueryString(ownerUri, queryString);
|
||||
});
|
||||
}
|
||||
public runQueryAndReturn(ownerUri: string, queryString: string): Thenable<data.SimpleExecuteResult> {
|
||||
public runQueryAndReturn(ownerUri: string, queryString: string): Thenable<sqlops.SimpleExecuteResult> {
|
||||
return this._runAction(ownerUri, (runner) => {
|
||||
return runner.runQueryAndReturn(ownerUri, queryString);
|
||||
});
|
||||
}
|
||||
public getQueryRows(rowData: data.QueryExecuteSubsetParams): Thenable<data.QueryExecuteSubsetResult> {
|
||||
public getQueryRows(rowData: sqlops.QueryExecuteSubsetParams): Thenable<sqlops.QueryExecuteSubsetResult> {
|
||||
return this._runAction(rowData.ownerUri, (runner) => {
|
||||
return runner.getQueryRows(rowData);
|
||||
});
|
||||
@@ -208,36 +208,36 @@ export class QueryManagementService implements IQueryManagementService {
|
||||
});
|
||||
}
|
||||
|
||||
public saveResults(requestParams: data.SaveResultsRequestParams): Thenable<data.SaveResultRequestResult> {
|
||||
public saveResults(requestParams: sqlops.SaveResultsRequestParams): Thenable<sqlops.SaveResultRequestResult> {
|
||||
return this._runAction(requestParams.ownerUri, (runner) => {
|
||||
return runner.saveResults(requestParams);
|
||||
});
|
||||
}
|
||||
|
||||
public onQueryComplete(result: data.QueryExecuteCompleteNotificationResult): void {
|
||||
public onQueryComplete(result: sqlops.QueryExecuteCompleteNotificationResult): void {
|
||||
this._notify(result.ownerUri, (runner: QueryRunner) => {
|
||||
runner.handleQueryComplete(result);
|
||||
});
|
||||
}
|
||||
public onBatchStart(batchInfo: data.QueryExecuteBatchNotificationParams): void {
|
||||
public onBatchStart(batchInfo: sqlops.QueryExecuteBatchNotificationParams): void {
|
||||
this._notify(batchInfo.ownerUri, (runner: QueryRunner) => {
|
||||
runner.handleBatchStart(batchInfo);
|
||||
});
|
||||
}
|
||||
|
||||
public onBatchComplete(batchInfo: data.QueryExecuteBatchNotificationParams): void {
|
||||
public onBatchComplete(batchInfo: sqlops.QueryExecuteBatchNotificationParams): void {
|
||||
this._notify(batchInfo.ownerUri, (runner: QueryRunner) => {
|
||||
runner.handleBatchComplete(batchInfo);
|
||||
});
|
||||
}
|
||||
|
||||
public onResultSetComplete(resultSetInfo: data.QueryExecuteResultSetCompleteNotificationParams): void {
|
||||
public onResultSetComplete(resultSetInfo: sqlops.QueryExecuteResultSetCompleteNotificationParams): void {
|
||||
this._notify(resultSetInfo.ownerUri, (runner: QueryRunner) => {
|
||||
runner.handleResultSetComplete(resultSetInfo);
|
||||
});
|
||||
}
|
||||
|
||||
public onMessage(message: data.QueryExecuteMessageParams): void {
|
||||
public onMessage(message: sqlops.QueryExecuteMessageParams): void {
|
||||
this._notify(message.ownerUri, (runner: QueryRunner) => {
|
||||
runner.handleMessage(message);
|
||||
});
|
||||
@@ -256,7 +256,7 @@ export class QueryManagementService implements IQueryManagementService {
|
||||
});
|
||||
}
|
||||
|
||||
public updateCell(ownerUri: string, rowId: number, columnId: number, newValue: string): Thenable<data.EditUpdateCellResult> {
|
||||
public updateCell(ownerUri: string, rowId: number, columnId: number, newValue: string): Thenable<sqlops.EditUpdateCellResult> {
|
||||
return this._runAction(ownerUri, (runner) => {
|
||||
return runner.updateCell(ownerUri, rowId, columnId, newValue);
|
||||
});
|
||||
@@ -268,7 +268,7 @@ export class QueryManagementService implements IQueryManagementService {
|
||||
});
|
||||
}
|
||||
|
||||
public createRow(ownerUri: string): Thenable<data.EditCreateRowResult> {
|
||||
public createRow(ownerUri: string): Thenable<sqlops.EditCreateRowResult> {
|
||||
return this._runAction(ownerUri, (runner) => {
|
||||
return runner.createRow(ownerUri);
|
||||
});
|
||||
@@ -286,7 +286,7 @@ export class QueryManagementService implements IQueryManagementService {
|
||||
});
|
||||
}
|
||||
|
||||
public revertCell(ownerUri: string, rowId: number, columnId: number): Thenable<data.EditRevertCellResult> {
|
||||
public revertCell(ownerUri: string, rowId: number, columnId: number): Thenable<sqlops.EditRevertCellResult> {
|
||||
return this._runAction(ownerUri, (runner) => {
|
||||
return runner.revertCell(ownerUri, rowId, columnId);
|
||||
});
|
||||
@@ -298,7 +298,7 @@ export class QueryManagementService implements IQueryManagementService {
|
||||
});
|
||||
}
|
||||
|
||||
public getEditRows(rowData: data.EditSubsetParams): Thenable<data.EditSubsetResult> {
|
||||
public getEditRows(rowData: sqlops.EditSubsetParams): Thenable<sqlops.EditSubsetResult> {
|
||||
return this._runAction(rowData.ownerUri, (runner) => {
|
||||
return runner.getEditRows(rowData);
|
||||
});
|
||||
|
||||
@@ -7,7 +7,7 @@ import * as ConnectionConstants from 'sql/parts/connection/common/constants';
|
||||
import * as Constants from 'sql/parts/query/common/constants';
|
||||
import * as LocalizedConstants from 'sql/parts/query/common/localizedConstants';
|
||||
import * as WorkbenchUtils from 'sql/workbench/common/sqlWorkbenchUtils';
|
||||
import { SaveResultsRequestParams } from 'data';
|
||||
import { SaveResultsRequestParams } from 'sqlops';
|
||||
import { IQueryManagementService } from 'sql/parts/query/common/queryManagement';
|
||||
import { ISaveRequest, SaveFormat } from 'sql/parts/grid/common/interfaces';
|
||||
import * as PathUtilities from 'sql/common/pathUtilities';
|
||||
|
||||
@@ -27,7 +27,7 @@ import { IContextKey, IContextKeyService } from 'vs/platform/contextkey/common/c
|
||||
import { IContextMenuService } from 'vs/platform/contextview/browser/contextView';
|
||||
import { IActionItem } from 'vs/base/browser/ui/actionbar/actionbar';
|
||||
import { Action } from 'vs/base/common/actions';
|
||||
import { ISelectionData } from 'data';
|
||||
import { ISelectionData } from 'sqlops';
|
||||
import { IEditorGroupService } from 'vs/workbench/services/group/common/groupService';
|
||||
import { CodeEditor } from 'vs/editor/browser/codeEditor';
|
||||
import { IDisposable } from 'vs/base/common/lifecycle';
|
||||
@@ -737,7 +737,7 @@ export class QueryEditor extends BaseEditor {
|
||||
}
|
||||
|
||||
private _doLayoutSql() {
|
||||
if ( this._resultsEditorContainer) {
|
||||
if (this._resultsEditorContainer) {
|
||||
this._resultsEditorContainer.style.width = '0px';
|
||||
this._resultsEditorContainer.style.height = '0px';
|
||||
this._resultsEditorContainer.style.left = '0px';
|
||||
|
||||
@@ -10,7 +10,7 @@ import { IWorkbenchEditorService } from 'vs/workbench/services/editor/common/edi
|
||||
import { TPromise } from 'vs/base/common/winjs.base';
|
||||
import { IWorkspaceConfigurationService } from 'vs/workbench/services/configuration/common/configuration';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
import { IQueryManagementService } from 'sql/parts/query/common/queryManagement';
|
||||
import { IConnectionManagementService } from 'sql/parts/connection/common/connectionManagement';
|
||||
@@ -281,37 +281,37 @@ export class RunQueryShortcutAction extends Action {
|
||||
let dbName = this.getDatabaseName(editor);
|
||||
let query = `exec dbo.sp_sproc_columns @procedure_name = N'${escapeSqlString(shortcutText, singleQuote)}', @procedure_owner = null, @procedure_qualifier = N'${escapeSqlString(dbName, singleQuote)}'`;
|
||||
return this._queryManagementService.runQueryAndReturn(editor.uri, query)
|
||||
.then(result => {
|
||||
switch(this.isProcWithSingleArgument(result)) {
|
||||
case 1:
|
||||
// sproc was found and it meets criteria of having 1 string param
|
||||
// if selection is quoted, leave as-is. Else quote
|
||||
let trimmedText = parameterText.trim();
|
||||
if (trimmedText.length > 0) {
|
||||
if (trimmedText.charAt(0) !== singleQuote || trimmedText.charAt(trimmedText.length - 1) !== singleQuote) {
|
||||
// Note: SSMS uses the original text, but this causes issues if you have spaces. We intentionally use
|
||||
// trimmed text since it's likely to be more accurate in this case. For non-quoted cases it shouldn't matter
|
||||
return `'${trimmedText}'`;
|
||||
.then(result => {
|
||||
switch (this.isProcWithSingleArgument(result)) {
|
||||
case 1:
|
||||
// sproc was found and it meets criteria of having 1 string param
|
||||
// if selection is quoted, leave as-is. Else quote
|
||||
let trimmedText = parameterText.trim();
|
||||
if (trimmedText.length > 0) {
|
||||
if (trimmedText.charAt(0) !== singleQuote || trimmedText.charAt(trimmedText.length - 1) !== singleQuote) {
|
||||
// Note: SSMS uses the original text, but this causes issues if you have spaces. We intentionally use
|
||||
// trimmed text since it's likely to be more accurate in this case. For non-quoted cases it shouldn't matter
|
||||
return `'${trimmedText}'`;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case -1:
|
||||
break;
|
||||
case -1:
|
||||
// sproc was found but didn't meet criteria, so append as-is
|
||||
case 0:
|
||||
// sproc wasn't found, just append as-is and hope it works
|
||||
break;
|
||||
}
|
||||
return parameterText;
|
||||
}, err => {
|
||||
return parameterText;
|
||||
});
|
||||
case 0:
|
||||
// sproc wasn't found, just append as-is and hope it works
|
||||
break;
|
||||
}
|
||||
return parameterText;
|
||||
}, err => {
|
||||
return parameterText;
|
||||
});
|
||||
}
|
||||
return TPromise.as(parameterText);
|
||||
}
|
||||
return TPromise.as('');
|
||||
}
|
||||
|
||||
private isProcWithSingleArgument(result: data.SimpleExecuteResult): number {
|
||||
private isProcWithSingleArgument(result: sqlops.SimpleExecuteResult): number {
|
||||
let columnTypeOrdinal = this.getColumnIndex(result.columnInfo, 'COLUMN_TYPE');
|
||||
let dataTypeOrdinal = this.getColumnIndex(result.columnInfo, 'DATA_TYPE');
|
||||
if (columnTypeOrdinal && dataTypeOrdinal) {
|
||||
@@ -345,7 +345,7 @@ export class RunQueryShortcutAction extends Action {
|
||||
return -1; // Couldn't process so return default value
|
||||
}
|
||||
|
||||
private getColumnIndex(columnInfo: data.IDbColumn[], columnName: string): number {
|
||||
private getColumnIndex(columnInfo: sqlops.IDbColumn[], columnName: string): number {
|
||||
return columnInfo ? columnInfo.findIndex(c => c.columnName === columnName) : undefined;
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ import { IContextViewService } from 'vs/platform/contextview/browser/contextView
|
||||
import { IMessageService, Severity } from 'vs/platform/message/common/message';
|
||||
import { IThemeService } from 'vs/platform/theme/common/themeService';
|
||||
|
||||
import { ISelectionData } from 'data';
|
||||
import { ISelectionData } from 'sqlops';
|
||||
import {
|
||||
IConnectionManagementService,
|
||||
IConnectionParams,
|
||||
|
||||
@@ -18,7 +18,7 @@ import {
|
||||
EditCreateRowResult,
|
||||
EditRevertCellResult,
|
||||
ExecutionPlanOptions
|
||||
} from 'data';
|
||||
} from 'sqlops';
|
||||
|
||||
export const SERVICE_ID = 'queryModelService';
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ import { QueryInput } from 'sql/parts/query/common/queryInput';
|
||||
import { QueryStatusbarItem } from 'sql/parts/query/execution/queryStatus';
|
||||
import { SqlFlavorStatusbarItem } from 'sql/parts/query/common/flavorStatus';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { ISlickRange } from 'angular2-slickgrid';
|
||||
|
||||
import * as nls from 'vs/nls';
|
||||
@@ -41,7 +41,7 @@ class QueryInfo {
|
||||
public queryRunner: QueryRunner;
|
||||
public dataService: DataService;
|
||||
public queryEventQueue: QueryEvent[];
|
||||
public selection: Array<data.ISelectionData>;
|
||||
public selection: Array<sqlops.ISelectionData>;
|
||||
public queryInput: QueryInput;
|
||||
public selectionSnippet: string;
|
||||
|
||||
@@ -66,12 +66,12 @@ export class QueryModelService implements IQueryModelService {
|
||||
private _queryInfoMap: Map<string, QueryInfo>;
|
||||
private _onRunQueryStart: Emitter<string>;
|
||||
private _onRunQueryComplete: Emitter<string>;
|
||||
private _onEditSessionReady: Emitter<data.EditSessionReadyParams>;
|
||||
private _onEditSessionReady: Emitter<sqlops.EditSessionReadyParams>;
|
||||
|
||||
// EVENTS /////////////////////////////////////////////////////////////
|
||||
public get onRunQueryStart(): Event<string> { return this._onRunQueryStart.event; }
|
||||
public get onRunQueryComplete(): Event<string> { return this._onRunQueryComplete.event; }
|
||||
public get onEditSessionReady(): Event<data.EditSessionReadyParams> { return this._onEditSessionReady.event; }
|
||||
public get onEditSessionReady(): Event<sqlops.EditSessionReadyParams> { return this._onEditSessionReady.event; }
|
||||
|
||||
// CONSTRUCTOR /////////////////////////////////////////////////////////
|
||||
constructor(
|
||||
@@ -81,7 +81,7 @@ export class QueryModelService implements IQueryModelService {
|
||||
this._queryInfoMap = new Map<string, QueryInfo>();
|
||||
this._onRunQueryStart = new Emitter<string>();
|
||||
this._onRunQueryComplete = new Emitter<string>();
|
||||
this._onEditSessionReady = new Emitter<data.EditSessionReadyParams>();
|
||||
this._onEditSessionReady = new Emitter<sqlops.EditSessionReadyParams>();
|
||||
|
||||
// Register Statusbar items
|
||||
(<statusbar.IStatusbarRegistry>platform.Registry.as(statusbar.Extensions.Statusbar)).registerStatusbarItem(new statusbar.StatusbarItemDescriptor(
|
||||
@@ -141,13 +141,13 @@ export class QueryModelService implements IQueryModelService {
|
||||
/**
|
||||
* Get more data rows from the current resultSets from the service layer
|
||||
*/
|
||||
public getQueryRows(uri: string, rowStart: number, numberOfRows: number, batchId: number, resultId: number): Thenable<data.ResultSetSubset> {
|
||||
public getQueryRows(uri: string, rowStart: number, numberOfRows: number, batchId: number, resultId: number): Thenable<sqlops.ResultSetSubset> {
|
||||
return this._getQueryInfo(uri).queryRunner.getQueryRows(rowStart, numberOfRows, batchId, resultId).then(results => {
|
||||
return results.resultSubset;
|
||||
});
|
||||
}
|
||||
|
||||
public getEditRows(uri: string, rowStart: number, numberOfRows: number): Thenable<data.EditSubsetResult> {
|
||||
public getEditRows(uri: string, rowStart: number, numberOfRows: number): Thenable<sqlops.EditSubsetResult> {
|
||||
return this._queryInfoMap.get(uri).queryRunner.getEditRows(rowStart, numberOfRows).then(results => {
|
||||
return results;
|
||||
});
|
||||
@@ -191,15 +191,15 @@ export class QueryModelService implements IQueryModelService {
|
||||
/**
|
||||
* Run a query for the given URI with the given text selection
|
||||
*/
|
||||
public runQuery(uri: string, selection: data.ISelectionData,
|
||||
title: string, queryInput: QueryInput, runOptions?: data.ExecutionPlanOptions): void {
|
||||
public runQuery(uri: string, selection: sqlops.ISelectionData,
|
||||
title: string, queryInput: QueryInput, runOptions?: sqlops.ExecutionPlanOptions): void {
|
||||
this.doRunQuery(uri, selection, title, queryInput, false, runOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Run the current SQL statement for the given URI
|
||||
*/
|
||||
public runQueryStatement(uri: string, selection: data.ISelectionData,
|
||||
public runQueryStatement(uri: string, selection: sqlops.ISelectionData,
|
||||
title: string, queryInput: QueryInput): void {
|
||||
this.doRunQuery(uri, selection, title, queryInput, true);
|
||||
}
|
||||
@@ -215,9 +215,9 @@ export class QueryModelService implements IQueryModelService {
|
||||
/**
|
||||
* Run Query implementation
|
||||
*/
|
||||
private doRunQuery(uri: string, selection: data.ISelectionData | string,
|
||||
private doRunQuery(uri: string, selection: sqlops.ISelectionData | string,
|
||||
title: string, queryInput: QueryInput,
|
||||
runCurrentStatement: boolean, runOptions?: data.ExecutionPlanOptions): void {
|
||||
runCurrentStatement: boolean, runOptions?: sqlops.ExecutionPlanOptions): void {
|
||||
// Reuse existing query runner if it exists
|
||||
let queryRunner: QueryRunner;
|
||||
let info: QueryInfo;
|
||||
@@ -422,7 +422,7 @@ export class QueryModelService implements IQueryModelService {
|
||||
return TPromise.as(null);
|
||||
}
|
||||
|
||||
public updateCell(ownerUri: string, rowId: number, columnId: number, newValue: string): Thenable<data.EditUpdateCellResult> {
|
||||
public updateCell(ownerUri: string, rowId: number, columnId: number, newValue: string): Thenable<sqlops.EditUpdateCellResult> {
|
||||
// Get existing query runner
|
||||
let queryRunner = this._getQueryRunner(ownerUri);
|
||||
if (queryRunner) {
|
||||
@@ -446,7 +446,7 @@ export class QueryModelService implements IQueryModelService {
|
||||
return TPromise.as(null);
|
||||
}
|
||||
|
||||
public createRow(ownerUri: string): Thenable<data.EditCreateRowResult> {
|
||||
public createRow(ownerUri: string): Thenable<sqlops.EditCreateRowResult> {
|
||||
// Get existing query runner
|
||||
let queryRunner = this._getQueryRunner(ownerUri);
|
||||
if (queryRunner) {
|
||||
@@ -464,7 +464,7 @@ export class QueryModelService implements IQueryModelService {
|
||||
return TPromise.as(null);
|
||||
}
|
||||
|
||||
public revertCell(ownerUri: string, rowId: number, columnId: number): Thenable<data.EditRevertCellResult> {
|
||||
public revertCell(ownerUri: string, rowId: number, columnId: number): Thenable<sqlops.EditRevertCellResult> {
|
||||
// Get existing query runner
|
||||
let queryRunner = this._getQueryRunner(ownerUri);
|
||||
if (queryRunner) {
|
||||
@@ -539,9 +539,9 @@ export class QueryModelService implements IQueryModelService {
|
||||
|
||||
// TODO remove this funciton and its usages when #821 in vscode-mssql is fixed and
|
||||
// the SqlToolsService version is updated in this repo - coquagli 4/19/2017
|
||||
private _validateSelection(selection: data.ISelectionData): data.ISelectionData {
|
||||
private _validateSelection(selection: sqlops.ISelectionData): sqlops.ISelectionData {
|
||||
if (!selection) {
|
||||
selection = <data.ISelectionData>{};
|
||||
selection = <sqlops.ISelectionData>{};
|
||||
}
|
||||
selection.endColumn = selection ? Math.max(0, selection.endColumn) : 0;
|
||||
selection.endLine = selection ? Math.max(0, selection.endLine) : 0;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
import * as Constants from 'sql/parts/query/common/constants';
|
||||
import * as WorkbenchUtils from 'sql/workbench/common/sqlWorkbenchUtils';
|
||||
@@ -41,10 +41,10 @@ export const enum EventType {
|
||||
export interface IEventType {
|
||||
start: void;
|
||||
complete: string;
|
||||
message: data.IResultMessage;
|
||||
batchStart: data.BatchSummary;
|
||||
batchComplete: data.BatchSummary;
|
||||
resultSet: data.ResultSetSummary;
|
||||
message: sqlops.IResultMessage;
|
||||
batchStart: sqlops.BatchSummary;
|
||||
batchComplete: sqlops.BatchSummary;
|
||||
resultSet: sqlops.ResultSetSummary;
|
||||
editSessionReady: IEditSessionReadyEvent;
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ export default class QueryRunner {
|
||||
private _totalElapsedMilliseconds: number = 0;
|
||||
private _isExecuting: boolean = false;
|
||||
private _hasCompleted: boolean = false;
|
||||
private _batchSets: data.BatchSummary[] = [];
|
||||
private _batchSets: sqlops.BatchSummary[] = [];
|
||||
private _eventEmitter = new EventEmitter();
|
||||
|
||||
// CONSTRUCTOR /////////////////////////////////////////////////////////
|
||||
@@ -79,7 +79,7 @@ export default class QueryRunner {
|
||||
return this._hasCompleted;
|
||||
}
|
||||
|
||||
get batchSets(): data.BatchSummary[] {
|
||||
get batchSets(): sqlops.BatchSummary[] {
|
||||
return this._batchSets;
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ export default class QueryRunner {
|
||||
/**
|
||||
* Cancels the running query, if there is one
|
||||
*/
|
||||
public cancelQuery(): Thenable<data.QueryCancelResult> {
|
||||
public cancelQuery(): Thenable<sqlops.QueryCancelResult> {
|
||||
return this._queryManagementService.cancelQuery(this.uri);
|
||||
}
|
||||
|
||||
@@ -100,13 +100,13 @@ export default class QueryRunner {
|
||||
* Runs the query with the provided query
|
||||
* @param input Query string to execute
|
||||
*/
|
||||
public runQuery(input: string, runOptions?: data.ExecutionPlanOptions): Thenable<void>;
|
||||
public runQuery(input: string, runOptions?: sqlops.ExecutionPlanOptions): Thenable<void>;
|
||||
/**
|
||||
* Runs the query by pulling the query from the document using the provided selection data
|
||||
* @param input selection data
|
||||
*/
|
||||
public runQuery(input: data.ISelectionData, runOptions?: data.ExecutionPlanOptions): Thenable<void>;
|
||||
public runQuery(input, runOptions?: data.ExecutionPlanOptions): Thenable<void> {
|
||||
public runQuery(input: sqlops.ISelectionData, runOptions?: sqlops.ExecutionPlanOptions): Thenable<void>;
|
||||
public runQuery(input, runOptions?: sqlops.ExecutionPlanOptions): Thenable<void> {
|
||||
return this.doRunQuery(input, false, runOptions);
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ export default class QueryRunner {
|
||||
* Runs the current SQL statement by pulling the query from the document using the provided selection data
|
||||
* @param input selection data
|
||||
*/
|
||||
public runQueryStatement(input: data.ISelectionData): Thenable<void> {
|
||||
public runQueryStatement(input: sqlops.ISelectionData): Thenable<void> {
|
||||
return this.doRunQuery(input, true);
|
||||
}
|
||||
|
||||
@@ -122,9 +122,9 @@ export default class QueryRunner {
|
||||
* Implementation that runs the query with the provided query
|
||||
* @param input Query string to execute
|
||||
*/
|
||||
private doRunQuery(input: string, runCurrentStatement: boolean, runOptions?: data.ExecutionPlanOptions): Thenable<void>;
|
||||
private doRunQuery(input: data.ISelectionData, runCurrentStatement: boolean, runOptions?: data.ExecutionPlanOptions): Thenable<void>;
|
||||
private doRunQuery(input, runCurrentStatement: boolean, runOptions?: data.ExecutionPlanOptions): Thenable<void> {
|
||||
private doRunQuery(input: string, runCurrentStatement: boolean, runOptions?: sqlops.ExecutionPlanOptions): Thenable<void>;
|
||||
private doRunQuery(input: sqlops.ISelectionData, runCurrentStatement: boolean, runOptions?: sqlops.ExecutionPlanOptions): Thenable<void>;
|
||||
private doRunQuery(input, runCurrentStatement: boolean, runOptions?: sqlops.ExecutionPlanOptions): Thenable<void> {
|
||||
let ownerUri = this.uri;
|
||||
this._batchSets = [];
|
||||
this._hasCompleted = false;
|
||||
@@ -160,20 +160,20 @@ export default class QueryRunner {
|
||||
// Attempting to launch the query failed, show the error message
|
||||
const eol = this.getEolString();
|
||||
let message = nls.localize('query.ExecutionFailedError', 'Execution failed due to an unexpected error: {0}\t{1}', eol, error);
|
||||
this.handleMessage(<data.QueryExecuteMessageParams> {
|
||||
this.handleMessage(<sqlops.QueryExecuteMessageParams>{
|
||||
ownerUri: this.uri,
|
||||
message: {
|
||||
isError: true,
|
||||
message: message
|
||||
}
|
||||
});
|
||||
this.handleQueryComplete(<data.QueryExecuteCompleteNotificationResult> { ownerUri: this.uri });
|
||||
this.handleQueryComplete(<sqlops.QueryExecuteCompleteNotificationResult>{ ownerUri: this.uri });
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle a QueryComplete from the service layer
|
||||
*/
|
||||
public handleQueryComplete(result: data.QueryExecuteCompleteNotificationResult): void {
|
||||
public handleQueryComplete(result: sqlops.QueryExecuteCompleteNotificationResult): void {
|
||||
|
||||
// Store the batch sets we got back as a source of "truth"
|
||||
this._isExecuting = false;
|
||||
@@ -194,7 +194,7 @@ export default class QueryRunner {
|
||||
/**
|
||||
* Handle a BatchStart from the service layer
|
||||
*/
|
||||
public handleBatchStart(result: data.QueryExecuteBatchNotificationParams): void {
|
||||
public handleBatchStart(result: sqlops.QueryExecuteBatchNotificationParams): void {
|
||||
let batch = result.batchSummary;
|
||||
|
||||
// Recalculate the start and end lines, relative to the result line offset
|
||||
@@ -214,8 +214,8 @@ export default class QueryRunner {
|
||||
/**
|
||||
* Handle a BatchComplete from the service layer
|
||||
*/
|
||||
public handleBatchComplete(result: data.QueryExecuteBatchNotificationParams): void {
|
||||
let batch: data.BatchSummary = result.batchSummary;
|
||||
public handleBatchComplete(result: sqlops.QueryExecuteBatchNotificationParams): void {
|
||||
let batch: sqlops.BatchSummary = result.batchSummary;
|
||||
|
||||
// Store the batch again to get the rest of the data
|
||||
this.batchSets[batch.id] = batch;
|
||||
@@ -231,17 +231,17 @@ export default class QueryRunner {
|
||||
/**
|
||||
* Handle a ResultSetComplete from the service layer
|
||||
*/
|
||||
public handleResultSetComplete(result: data.QueryExecuteResultSetCompleteNotificationParams): void {
|
||||
public handleResultSetComplete(result: sqlops.QueryExecuteResultSetCompleteNotificationParams): void {
|
||||
if (result && result.resultSetSummary) {
|
||||
let resultSet = result.resultSetSummary;
|
||||
let batchSet: data.BatchSummary;
|
||||
let batchSet: sqlops.BatchSummary;
|
||||
if (!resultSet.batchId) {
|
||||
// Missing the batchId. In this case, default to always using the first batch in the list
|
||||
// or create one in the case the DMP extension didn't obey the contract perfectly
|
||||
if (this.batchSets.length > 0) {
|
||||
batchSet = this.batchSets[0];
|
||||
} else {
|
||||
batchSet = <data.BatchSummary>{
|
||||
batchSet = <sqlops.BatchSummary>{
|
||||
id: 0,
|
||||
selection: undefined,
|
||||
hasError: false,
|
||||
@@ -263,7 +263,7 @@ export default class QueryRunner {
|
||||
/**
|
||||
* Handle a Mssage from the service layer
|
||||
*/
|
||||
public handleMessage(obj: data.QueryExecuteMessageParams): void {
|
||||
public handleMessage(obj: sqlops.QueryExecuteMessageParams): void {
|
||||
let message = obj.message;
|
||||
message.time = new Date(message.time).toLocaleTimeString();
|
||||
|
||||
@@ -274,9 +274,9 @@ export default class QueryRunner {
|
||||
/**
|
||||
* Get more data rows from the current resultSets from the service layer
|
||||
*/
|
||||
public getQueryRows(rowStart: number, numberOfRows: number, batchIndex: number, resultSetIndex: number): Thenable<data.QueryExecuteSubsetResult> {
|
||||
public getQueryRows(rowStart: number, numberOfRows: number, batchIndex: number, resultSetIndex: number): Thenable<sqlops.QueryExecuteSubsetResult> {
|
||||
const self = this;
|
||||
let rowData: data.QueryExecuteSubsetParams = <data.QueryExecuteSubsetParams>{
|
||||
let rowData: sqlops.QueryExecuteSubsetParams = <sqlops.QueryExecuteSubsetParams>{
|
||||
ownerUri: this.uri,
|
||||
resultSetIndex: resultSetIndex,
|
||||
rowsCount: numberOfRows,
|
||||
@@ -284,7 +284,7 @@ export default class QueryRunner {
|
||||
batchIndex: batchIndex
|
||||
};
|
||||
|
||||
return new Promise<data.QueryExecuteSubsetResult>((resolve, reject) => {
|
||||
return new Promise<sqlops.QueryExecuteSubsetResult>((resolve, reject) => {
|
||||
self._queryManagementService.getQueryRows(rowData).then(result => {
|
||||
resolve(result);
|
||||
}, error => {
|
||||
@@ -322,15 +322,15 @@ export default class QueryRunner {
|
||||
* @param rowStart The index of the row to start returning (inclusive)
|
||||
* @param numberOfRows The number of rows to return
|
||||
*/
|
||||
public getEditRows(rowStart: number, numberOfRows: number): Thenable<data.EditSubsetResult> {
|
||||
public getEditRows(rowStart: number, numberOfRows: number): Thenable<sqlops.EditSubsetResult> {
|
||||
const self = this;
|
||||
let rowData: data.EditSubsetParams = {
|
||||
let rowData: sqlops.EditSubsetParams = {
|
||||
ownerUri: this.uri,
|
||||
rowCount: numberOfRows,
|
||||
rowStartIndex: rowStart
|
||||
};
|
||||
|
||||
return new Promise<data.EditSubsetResult>((resolve, reject) => {
|
||||
return new Promise<sqlops.EditSubsetResult>((resolve, reject) => {
|
||||
self._queryManagementService.getEditRows(rowData).then(result => {
|
||||
if (!result.hasOwnProperty('rowCount')) {
|
||||
let error = `Nothing returned from subset query`;
|
||||
@@ -350,7 +350,7 @@ export default class QueryRunner {
|
||||
this._eventEmitter.emit(EventType.EDIT_SESSION_READY, { ownerUri, success, message });
|
||||
}
|
||||
|
||||
public updateCell(ownerUri: string, rowId: number, columnId: number, newValue: string): Thenable<data.EditUpdateCellResult> {
|
||||
public updateCell(ownerUri: string, rowId: number, columnId: number, newValue: string): Thenable<sqlops.EditUpdateCellResult> {
|
||||
return this._queryManagementService.updateCell(ownerUri, rowId, columnId, newValue);
|
||||
}
|
||||
|
||||
@@ -358,7 +358,7 @@ export default class QueryRunner {
|
||||
return this._queryManagementService.commitEdit(ownerUri);
|
||||
}
|
||||
|
||||
public createRow(ownerUri: string): Thenable<data.EditCreateRowResult> {
|
||||
public createRow(ownerUri: string): Thenable<sqlops.EditCreateRowResult> {
|
||||
return this._queryManagementService.createRow(ownerUri).then(result => {
|
||||
return result;
|
||||
});
|
||||
@@ -368,7 +368,7 @@ export default class QueryRunner {
|
||||
return this._queryManagementService.deleteRow(ownerUri, rowId);
|
||||
}
|
||||
|
||||
public revertCell(ownerUri: string, rowId: number, columnId: number): Thenable<data.EditRevertCellResult> {
|
||||
public revertCell(ownerUri: string, rowId: number, columnId: number): Thenable<sqlops.EditRevertCellResult> {
|
||||
return this._queryManagementService.revertCell(ownerUri, rowId, columnId).then(result => {
|
||||
return result;
|
||||
});
|
||||
@@ -468,7 +468,7 @@ export default class QueryRunner {
|
||||
|
||||
private getColumnHeaders(batchId: number, resultId: number, range: ISlickRange): string[] {
|
||||
let headers: string[] = undefined;
|
||||
let batchSummary: data.BatchSummary = this.batchSets[batchId];
|
||||
let batchSummary: sqlops.BatchSummary = this.batchSets[batchId];
|
||||
if (batchSummary !== undefined) {
|
||||
let resultSetSummary = batchSummary.resultSetSummaries[resultId];
|
||||
headers = resultSetSummary.columnInfo.slice(range.fromCell, range.toCell + 1).map((info, i) => {
|
||||
@@ -495,7 +495,7 @@ export default class QueryRunner {
|
||||
// get config copyRemoveNewLine option from vscode config
|
||||
let showBatchTime: boolean = WorkbenchUtils.getSqlConfigValue<boolean>(this._workspaceConfigurationService, Constants.configShowBatchTime);
|
||||
if (showBatchTime) {
|
||||
let message: data.IResultMessage = {
|
||||
let message: sqlops.IResultMessage = {
|
||||
batchId: batchId,
|
||||
message: nls.localize('elapsedBatchTime', 'Batch execution time: {0}', executionTime),
|
||||
time: undefined,
|
||||
|
||||
@@ -12,7 +12,7 @@ import { createDecorator } from 'vs/platform/instantiation/common/instantiation'
|
||||
import { IConnectionManagementService } from 'sql/parts/connection/common/connectionManagement';
|
||||
import { IConnectionProfile } from 'sql/parts/connection/common/interfaces';
|
||||
import Event, { Emitter } from 'vs/base/common/event';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import * as nls from 'vs/nls';
|
||||
import * as TelemetryKeys from 'sql/common/telemetryKeys';
|
||||
import * as TelemetryUtils from 'sql/common/telemetryUtilities';
|
||||
@@ -27,26 +27,26 @@ export const IObjectExplorerService = createDecorator<IObjectExplorerService>(SE
|
||||
export interface IObjectExplorerService {
|
||||
_serviceBrand: any;
|
||||
|
||||
createNewSession(providerId: string, connection: ConnectionProfile): Thenable<data.ObjectExplorerSessionResponse>;
|
||||
createNewSession(providerId: string, connection: ConnectionProfile): Thenable<sqlops.ObjectExplorerSessionResponse>;
|
||||
|
||||
closeSession(providerId: string, session: data.ObjectExplorerSession): Thenable<data.ObjectExplorerCloseSessionResponse>;
|
||||
closeSession(providerId: string, session: sqlops.ObjectExplorerSession): Thenable<sqlops.ObjectExplorerCloseSessionResponse>;
|
||||
|
||||
expandNode(providerId: string, session: data.ObjectExplorerSession, nodePath: string): Thenable<data.ObjectExplorerExpandInfo>;
|
||||
expandNode(providerId: string, session: sqlops.ObjectExplorerSession, nodePath: string): Thenable<sqlops.ObjectExplorerExpandInfo>;
|
||||
|
||||
refreshNode(providerId: string, session: data.ObjectExplorerSession, nodePath: string): Thenable<data.ObjectExplorerExpandInfo>;
|
||||
refreshNode(providerId: string, session: sqlops.ObjectExplorerSession, nodePath: string): Thenable<sqlops.ObjectExplorerExpandInfo>;
|
||||
|
||||
expandTreeNode(session: data.ObjectExplorerSession, parentTree: TreeNode): Thenable<TreeNode[]>;
|
||||
expandTreeNode(session: sqlops.ObjectExplorerSession, parentTree: TreeNode): Thenable<TreeNode[]>;
|
||||
|
||||
refreshTreeNode(session: data.ObjectExplorerSession, parentTree: TreeNode): Thenable<TreeNode[]>;
|
||||
refreshTreeNode(session: sqlops.ObjectExplorerSession, parentTree: TreeNode): Thenable<TreeNode[]>;
|
||||
|
||||
onSessionCreated(handle: number, sessionResponse: data.ObjectExplorerSession);
|
||||
onSessionCreated(handle: number, sessionResponse: sqlops.ObjectExplorerSession);
|
||||
|
||||
onNodeExpanded(handle: number, sessionResponse: data.ObjectExplorerExpandInfo);
|
||||
onNodeExpanded(handle: number, sessionResponse: sqlops.ObjectExplorerExpandInfo);
|
||||
|
||||
/**
|
||||
* Register a ObjectExplorer provider
|
||||
*/
|
||||
registerProvider(providerId: string, provider: data.ObjectExplorerProvider): void;
|
||||
registerProvider(providerId: string, provider: sqlops.ObjectExplorerProvider): void;
|
||||
|
||||
getObjectExplorerNode(connection: IConnectionProfile): TreeNode;
|
||||
|
||||
@@ -74,7 +74,7 @@ interface SessionStatus {
|
||||
}
|
||||
|
||||
interface NodeStatus {
|
||||
expandHandler: (result: data.ObjectExplorerExpandInfo) => void;
|
||||
expandHandler: (result: sqlops.ObjectExplorerExpandInfo) => void;
|
||||
}
|
||||
|
||||
export interface ObjectExplorerNodeEventArgs {
|
||||
@@ -89,7 +89,7 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
||||
|
||||
private _disposables: IDisposable[] = [];
|
||||
|
||||
private _providers: { [handle: string]: data.ObjectExplorerProvider; } = Object.create(null);
|
||||
private _providers: { [handle: string]: sqlops.ObjectExplorerProvider; } = Object.create(null);
|
||||
|
||||
private _activeObjectExplorerNodes: { [id: string]: TreeNode };
|
||||
private _sessions: { [sessionId: string]: SessionStatus };
|
||||
@@ -145,7 +145,7 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
||||
/**
|
||||
* Gets called when expanded node response is ready
|
||||
*/
|
||||
public onNodeExpanded(handle: number, expandResponse: data.ObjectExplorerExpandInfo) {
|
||||
public onNodeExpanded(handle: number, expandResponse: sqlops.ObjectExplorerExpandInfo) {
|
||||
|
||||
if (expandResponse.errorMessage) {
|
||||
error(expandResponse.errorMessage);
|
||||
@@ -162,7 +162,7 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
||||
/**
|
||||
* Gets called when session is created
|
||||
*/
|
||||
public onSessionCreated(handle: number, session: data.ObjectExplorerSession) {
|
||||
public onSessionCreated(handle: number, session: sqlops.ObjectExplorerSession) {
|
||||
let connection: ConnectionProfile = undefined;
|
||||
let errorMessage: string = undefined;
|
||||
if (this._sessions[session.sessionId]) {
|
||||
@@ -216,9 +216,9 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
||||
return this._activeObjectExplorerNodes[connection.id];
|
||||
}
|
||||
|
||||
public createNewSession(providerId: string, connection: ConnectionProfile): Thenable<data.ObjectExplorerSessionResponse> {
|
||||
public createNewSession(providerId: string, connection: ConnectionProfile): Thenable<sqlops.ObjectExplorerSessionResponse> {
|
||||
let self = this;
|
||||
return new Promise<data.ObjectExplorerSessionResponse>((resolve, reject) => {
|
||||
return new Promise<sqlops.ObjectExplorerSessionResponse>((resolve, reject) => {
|
||||
let provider = this._providers[providerId];
|
||||
if (provider) {
|
||||
provider.createNewSession(connection.toConnectionInfo()).then(result => {
|
||||
@@ -236,8 +236,8 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
||||
});
|
||||
}
|
||||
|
||||
public expandNode(providerId: string, session: data.ObjectExplorerSession, nodePath: string): Thenable<data.ObjectExplorerExpandInfo> {
|
||||
return new Promise<data.ObjectExplorerExpandInfo>((resolve, reject) => {
|
||||
public expandNode(providerId: string, session: sqlops.ObjectExplorerSession, nodePath: string): Thenable<sqlops.ObjectExplorerExpandInfo> {
|
||||
return new Promise<sqlops.ObjectExplorerExpandInfo>((resolve, reject) => {
|
||||
let provider = this._providers[providerId];
|
||||
if (provider) {
|
||||
TelemetryUtils.addTelemetry(this._telemetryService, TelemetryKeys.ObjectExplorerExpand, { refresh: 0, provider: providerId });
|
||||
@@ -251,7 +251,7 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
||||
}
|
||||
});
|
||||
}
|
||||
private callExpandOrRefreshFromProvider(provider: data.ObjectExplorerProvider, nodeInfo: data.ExpandNodeInfo, refresh: boolean = false) {
|
||||
private callExpandOrRefreshFromProvider(provider: sqlops.ObjectExplorerProvider, nodeInfo: sqlops.ExpandNodeInfo, refresh: boolean = false) {
|
||||
if (refresh) {
|
||||
return provider.refreshNode(nodeInfo);
|
||||
} else {
|
||||
@@ -260,12 +260,12 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
||||
}
|
||||
|
||||
private expandOrRefreshNode(
|
||||
provider: data.ObjectExplorerProvider,
|
||||
session: data.ObjectExplorerSession,
|
||||
provider: sqlops.ObjectExplorerProvider,
|
||||
session: sqlops.ObjectExplorerSession,
|
||||
nodePath: string,
|
||||
refresh: boolean = false): Thenable<data.ObjectExplorerExpandInfo> {
|
||||
refresh: boolean = false): Thenable<sqlops.ObjectExplorerExpandInfo> {
|
||||
let self = this;
|
||||
return new Promise<data.ObjectExplorerExpandInfo>((resolve, reject) => {
|
||||
return new Promise<sqlops.ObjectExplorerExpandInfo>((resolve, reject) => {
|
||||
if (session.sessionId in self._sessions && self._sessions[session.sessionId]) {
|
||||
self._sessions[session.sessionId].nodes[nodePath] = {
|
||||
expandHandler: ((expandResult) => {
|
||||
@@ -291,7 +291,7 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
||||
});
|
||||
}
|
||||
|
||||
public refreshNode(providerId: string, session: data.ObjectExplorerSession, nodePath: string): Thenable<data.ObjectExplorerExpandInfo> {
|
||||
public refreshNode(providerId: string, session: sqlops.ObjectExplorerSession, nodePath: string): Thenable<sqlops.ObjectExplorerExpandInfo> {
|
||||
let provider = this._providers[providerId];
|
||||
if (provider) {
|
||||
TelemetryUtils.addTelemetry(this._telemetryService, TelemetryKeys.ObjectExplorerExpand, { refresh: 1, provider: providerId });
|
||||
@@ -300,7 +300,7 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
||||
return Promise.resolve(undefined);
|
||||
}
|
||||
|
||||
public closeSession(providerId: string, session: data.ObjectExplorerSession): Thenable<data.ObjectExplorerCloseSessionResponse> {
|
||||
public closeSession(providerId: string, session: sqlops.ObjectExplorerSession): Thenable<sqlops.ObjectExplorerCloseSessionResponse> {
|
||||
let provider = this._providers[providerId];
|
||||
if (provider) {
|
||||
return provider.closeSession({
|
||||
@@ -314,7 +314,7 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
||||
/**
|
||||
* Register a ObjectExplorer provider
|
||||
*/
|
||||
public registerProvider(providerId: string, provider: data.ObjectExplorerProvider): void {
|
||||
public registerProvider(providerId: string, provider: sqlops.ObjectExplorerProvider): void {
|
||||
this._providers[providerId] = provider;
|
||||
}
|
||||
|
||||
@@ -322,15 +322,15 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
||||
this._disposables = dispose(this._disposables);
|
||||
}
|
||||
|
||||
public expandTreeNode(session: data.ObjectExplorerSession, parentTree: TreeNode): Thenable<TreeNode[]> {
|
||||
public expandTreeNode(session: sqlops.ObjectExplorerSession, parentTree: TreeNode): Thenable<TreeNode[]> {
|
||||
return this.expandOrRefreshTreeNode(session, parentTree);
|
||||
}
|
||||
|
||||
public refreshTreeNode(session: data.ObjectExplorerSession, parentTree: TreeNode): Thenable<TreeNode[]> {
|
||||
public refreshTreeNode(session: sqlops.ObjectExplorerSession, parentTree: TreeNode): Thenable<TreeNode[]> {
|
||||
return this.expandOrRefreshTreeNode(session, parentTree, true);
|
||||
}
|
||||
|
||||
private callExpandOrRefreshFromService(providerId: string, session: data.ObjectExplorerSession, nodePath: string, refresh: boolean = false): Thenable<data.ObjectExplorerExpandInfo> {
|
||||
private callExpandOrRefreshFromService(providerId: string, session: sqlops.ObjectExplorerSession, nodePath: string, refresh: boolean = false): Thenable<sqlops.ObjectExplorerExpandInfo> {
|
||||
if (refresh) {
|
||||
return this.refreshNode(providerId, session, nodePath);
|
||||
} else {
|
||||
@@ -339,7 +339,7 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
||||
}
|
||||
|
||||
private expandOrRefreshTreeNode(
|
||||
session: data.ObjectExplorerSession,
|
||||
session: sqlops.ObjectExplorerSession,
|
||||
parentTree: TreeNode,
|
||||
refresh: boolean = false): Thenable<TreeNode[]> {
|
||||
return new Promise<TreeNode[]>((resolve, reject) => {
|
||||
@@ -360,7 +360,7 @@ export class ObjectExplorerService implements IObjectExplorerService {
|
||||
});
|
||||
}
|
||||
|
||||
private toTreeNode(nodeInfo: data.NodeInfo, parent: TreeNode): TreeNode {
|
||||
private toTreeNode(nodeInfo: sqlops.NodeInfo, parent: TreeNode): TreeNode {
|
||||
// Show the status for database nodes with a status field
|
||||
let isLeaf: boolean = nodeInfo.isLeaf;
|
||||
if (nodeInfo.nodeType === NodeType.Database) {
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
import { ConnectionProfile } from 'sql/parts/connection/common/connectionProfile';
|
||||
import { NodeType } from 'sql/parts/registeredServer/common/nodeType';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
|
||||
import * as UUID from 'vs/base/common/uuid';
|
||||
|
||||
@@ -66,9 +66,9 @@ export class TreeNode {
|
||||
|
||||
public connection: ConnectionProfile;
|
||||
|
||||
public session: data.ObjectExplorerSession;
|
||||
public session: sqlops.ObjectExplorerSession;
|
||||
|
||||
public metadata: data.ObjectMetadata;
|
||||
public metadata: sqlops.ObjectMetadata;
|
||||
|
||||
public getConnectionProfile(): ConnectionProfile {
|
||||
var currentNode: TreeNode = this;
|
||||
@@ -93,7 +93,7 @@ export class TreeNode {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
public getSession(): data.ObjectExplorerSession {
|
||||
public getSession(): sqlops.ObjectExplorerSession {
|
||||
var currentNode: TreeNode = this;
|
||||
while (!currentNode.session && currentNode.parent) {
|
||||
currentNode = currentNode.parent;
|
||||
@@ -109,7 +109,7 @@ export class TreeNode {
|
||||
}
|
||||
|
||||
constructor(nodeTypeId: string, label: string, isAlwaysLeaf: boolean, nodePath: string,
|
||||
nodeSubType: string, nodeStatus: string, parent: TreeNode, metadata: data.ObjectMetadata) {
|
||||
nodeSubType: string, nodeStatus: string, parent: TreeNode, metadata: sqlops.ObjectMetadata) {
|
||||
this.nodeTypeId = nodeTypeId;
|
||||
this.label = label;
|
||||
this.isAlwaysLeaf = isAlwaysLeaf;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import { TaskNode, TaskStatus, TaskExecutionMode } from 'sql/parts/taskHistory/common/taskNode';
|
||||
import { IQueryEditorService } from 'sql/parts/query/common/queryEditorService';
|
||||
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';
|
||||
@@ -26,18 +26,18 @@ export interface ITaskService {
|
||||
handleTaskComplete(eventArgs: TaskStatusChangeArgs): void;
|
||||
getAllTasks(): TaskNode;
|
||||
getNumberOfInProgressTasks(): number;
|
||||
onNewTaskCreated(handle: number, taskInfo: data.TaskInfo);
|
||||
onTaskStatusChanged(handle: number, taskProgressInfo: data.TaskProgressInfo);
|
||||
onNewTaskCreated(handle: number, taskInfo: sqlops.TaskInfo);
|
||||
onTaskStatusChanged(handle: number, taskProgressInfo: sqlops.TaskProgressInfo);
|
||||
cancelTask(providerId: string, taskId: string): Thenable<boolean>;
|
||||
/**
|
||||
* Register a ObjectExplorer provider
|
||||
*/
|
||||
registerProvider(providerId: string, provider: data.TaskServicesProvider): void;
|
||||
registerProvider(providerId: string, provider: sqlops.TaskServicesProvider): void;
|
||||
}
|
||||
|
||||
export interface TaskStatusChangeArgs {
|
||||
taskId: string;
|
||||
status: data.TaskStatus;
|
||||
status: sqlops.TaskStatus;
|
||||
message?: string;
|
||||
script?: string;
|
||||
}
|
||||
@@ -47,7 +47,7 @@ export class TaskService implements ITaskService {
|
||||
private _taskQueue: TaskNode;
|
||||
private _onTaskComplete = new Emitter<TaskNode>();
|
||||
private _onAddNewTask = new Emitter<TaskNode>();
|
||||
private _providers: { [handle: string]: data.TaskServicesProvider; } = Object.create(null);
|
||||
private _providers: { [handle: string]: sqlops.TaskServicesProvider; } = Object.create(null);
|
||||
|
||||
constructor(
|
||||
@ILifecycleService lifecycleService: ILifecycleService,
|
||||
@@ -65,17 +65,17 @@ export class TaskService implements ITaskService {
|
||||
/**
|
||||
* Register a ObjectExplorer provider
|
||||
*/
|
||||
public registerProvider(providerId: string, provider: data.TaskServicesProvider): void {
|
||||
public registerProvider(providerId: string, provider: sqlops.TaskServicesProvider): void {
|
||||
this._providers[providerId] = provider;
|
||||
}
|
||||
|
||||
public onNewTaskCreated(handle: number, taskInfo: data.TaskInfo) {
|
||||
public onNewTaskCreated(handle: number, taskInfo: sqlops.TaskInfo) {
|
||||
let node: TaskNode = new TaskNode(taskInfo.name, taskInfo.serverName, taskInfo.databaseName, taskInfo.taskId, taskInfo.taskExecutionMode, taskInfo.isCancelable);
|
||||
node.providerName = taskInfo.providerName;
|
||||
this.handleNewTask(node);
|
||||
}
|
||||
|
||||
public onTaskStatusChanged(handle: number, taskProgressInfo: data.TaskProgressInfo) {
|
||||
public onTaskStatusChanged(handle: number, taskProgressInfo: sqlops.TaskProgressInfo) {
|
||||
this.handleTaskComplete({
|
||||
taskId: taskProgressInfo.taskId,
|
||||
status: taskProgressInfo.status,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
import * as data from 'data';
|
||||
import * as sqlops from 'sqlops';
|
||||
import * as nls from 'vs/nls';
|
||||
import * as platform from 'vs/platform/registry/common/platform';
|
||||
import * as statusbar from 'vs/workbench/browser/parts/statusbar/statusbar';
|
||||
@@ -39,8 +39,8 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
private _addAccountProviderEmitter: Emitter<AccountProviderAddedEventParams>;
|
||||
public get addAccountProviderEvent(): Event<AccountProviderAddedEventParams> { return this._addAccountProviderEmitter.event; }
|
||||
|
||||
private _removeAccountProviderEmitter: Emitter<data.AccountProviderMetadata>;
|
||||
public get removeAccountProviderEvent(): Event<data.AccountProviderMetadata> { return this._removeAccountProviderEmitter.event; }
|
||||
private _removeAccountProviderEmitter: Emitter<sqlops.AccountProviderMetadata>;
|
||||
public get removeAccountProviderEvent(): Event<sqlops.AccountProviderMetadata> { return this._removeAccountProviderEmitter.event; }
|
||||
|
||||
private _updateAccountListEmitter: Emitter<UpdateAccountListEventParams>;
|
||||
public get updateAccountListEvent(): Event<UpdateAccountListEventParams> { return this._updateAccountListEmitter.event; }
|
||||
@@ -61,7 +61,7 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
|
||||
// Setup the event emitters
|
||||
this._addAccountProviderEmitter = new Emitter<AccountProviderAddedEventParams>();
|
||||
this._removeAccountProviderEmitter = new Emitter<data.AccountProviderMetadata>();
|
||||
this._removeAccountProviderEmitter = new Emitter<sqlops.AccountProviderMetadata>();
|
||||
this._updateAccountListEmitter = new Emitter<UpdateAccountListEventParams>();
|
||||
|
||||
// Register status bar item
|
||||
@@ -87,7 +87,7 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
* account's properties have been updated (usually when the account goes stale).
|
||||
* @param {Account} updatedAccount Account with the updated properties
|
||||
*/
|
||||
public accountUpdated(updatedAccount: data.Account): Thenable<void> {
|
||||
public accountUpdated(updatedAccount: sqlops.Account): Thenable<void> {
|
||||
let self = this;
|
||||
|
||||
// 1) Update the account in the store
|
||||
@@ -155,7 +155,7 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
* @param {Account} account account to refresh
|
||||
* @return {Thenable<Account>} Promise to return an account
|
||||
*/
|
||||
public refreshAccount(account: data.Account): Thenable<data.Account> {
|
||||
public refreshAccount(account: sqlops.Account): Thenable<sqlops.Account> {
|
||||
let self = this;
|
||||
|
||||
return this.doWithProvider(account.key.providerId, (provider) => {
|
||||
@@ -186,7 +186,7 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
* Retrieves metadata of all providers that have been registered
|
||||
* @returns {Thenable<AccountProviderMetadata[]>} Registered account providers
|
||||
*/
|
||||
public getAccountProviderMetadata(): Thenable<data.AccountProviderMetadata[]> {
|
||||
public getAccountProviderMetadata(): Thenable<sqlops.AccountProviderMetadata[]> {
|
||||
return Promise.resolve(Object.values(this._providers).map(provider => provider.metadata));
|
||||
}
|
||||
|
||||
@@ -195,7 +195,7 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
* @param {string} providerId ID of the provider the returned accounts belong to
|
||||
* @returns {Thenable<Account[]>} Promise to return a list of accounts
|
||||
*/
|
||||
public getAccountsForProvider(providerId: string): Thenable<data.Account[]> {
|
||||
public getAccountsForProvider(providerId: string): Thenable<sqlops.Account[]> {
|
||||
let self = this;
|
||||
|
||||
// Make sure the provider exists before attempting to retrieve accounts
|
||||
@@ -219,7 +219,7 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
* @param {Account} account Account to generate security token for
|
||||
* @return {Thenable<{}>} Promise to return the security token
|
||||
*/
|
||||
public getSecurityToken(account: data.Account): Thenable<{}> {
|
||||
public getSecurityToken(account: sqlops.Account): Thenable<{}> {
|
||||
return this.doWithProvider(account.key.providerId, provider => {
|
||||
return provider.provider.getSecurityToken(account);
|
||||
});
|
||||
@@ -231,7 +231,7 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
* @returns {Thenable<void>} Promise with result of account removal, true if account was
|
||||
* removed, false otherwise.
|
||||
*/
|
||||
public removeAccount(accountKey: data.AccountKey): Thenable<boolean> {
|
||||
public removeAccount(accountKey: sqlops.AccountKey): Thenable<boolean> {
|
||||
let self = this;
|
||||
|
||||
// Step 1) Remove the account
|
||||
@@ -309,8 +309,8 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
public cancelAutoOAuthDeviceCode(providerId: string): void {
|
||||
this.doWithProvider(providerId, provider => provider.provider.autoOAuthCancelled())
|
||||
.then( // Swallow errors
|
||||
null,
|
||||
err => { console.warn(`Error when cancelling auto OAuth: ${err}`); }
|
||||
null,
|
||||
err => { console.warn(`Error when cancelling auto OAuth: ${err}`); }
|
||||
)
|
||||
.then(() => this.autoOAuthDialogController.closeAutoOAuthDialog());
|
||||
}
|
||||
@@ -326,10 +326,10 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
// SERVICE MANAGEMENT METHODS //////////////////////////////////////////
|
||||
/**
|
||||
* Called by main thread to register an account provider from extension
|
||||
* @param {data.AccountProviderMetadata} providerMetadata Metadata of the provider that is being registered
|
||||
* @param {data.AccountProvider} provider References to the methods of the provider
|
||||
* @param {sqlops.AccountProviderMetadata} providerMetadata Metadata of the provider that is being registered
|
||||
* @param {sqlops.AccountProvider} provider References to the methods of the provider
|
||||
*/
|
||||
public registerProvider(providerMetadata: data.AccountProviderMetadata, provider: data.AccountProvider): Thenable<void> {
|
||||
public registerProvider(providerMetadata: sqlops.AccountProviderMetadata, provider: sqlops.AccountProvider): Thenable<void> {
|
||||
let self = this;
|
||||
|
||||
// Store the account provider
|
||||
@@ -346,10 +346,10 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
// 4) Write the accounts back to the store
|
||||
// 5) Fire the event to let folks know we have another account provider now
|
||||
return this._accountStore.getAccountsByProvider(providerMetadata.id)
|
||||
.then((accounts: data.Account[]) => {
|
||||
.then((accounts: sqlops.Account[]) => {
|
||||
return provider.initialize(accounts);
|
||||
})
|
||||
.then((accounts: data.Account[]) => {
|
||||
.then((accounts: sqlops.Account[]) => {
|
||||
self._providers[providerMetadata.id].accounts = accounts;
|
||||
let writePromises = accounts.map(account => {
|
||||
return self._accountStore.addOrUpdate(account);
|
||||
@@ -376,7 +376,7 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
}
|
||||
}
|
||||
|
||||
public unregisterProvider(providerMetadata: data.AccountProviderMetadata): void {
|
||||
public unregisterProvider(providerMetadata: sqlops.AccountProviderMetadata): void {
|
||||
// Delete this account provider
|
||||
delete this._providers[providerMetadata.id];
|
||||
|
||||
@@ -400,7 +400,7 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
private fireAccountListUpdate(provider: AccountProviderWithMetadata, sort: boolean) {
|
||||
// Step 1) Get and sort the list
|
||||
if (sort) {
|
||||
provider.accounts.sort((a: data.Account, b: data.Account) => {
|
||||
provider.accounts.sort((a: sqlops.Account, b: sqlops.Account) => {
|
||||
if (a.displayInfo.displayName < b.displayInfo.displayName) {
|
||||
return -1;
|
||||
}
|
||||
@@ -419,7 +419,7 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
this._updateAccountListEmitter.fire(eventArg);
|
||||
}
|
||||
|
||||
private spliceModifiedAccount(provider: AccountProviderWithMetadata, modifiedAccount: data.Account) {
|
||||
private spliceModifiedAccount(provider: AccountProviderWithMetadata, modifiedAccount: sqlops.Account) {
|
||||
// Find the updated account and splice the updated one in
|
||||
let indexToRemove: number = provider.accounts.findIndex(account => {
|
||||
return account.key.accountId === modifiedAccount.key.accountId;
|
||||
@@ -434,7 +434,7 @@ export class AccountManagementService implements IAccountManagementService {
|
||||
* Joins together an account provider, its metadata, and its accounts, used in the provider list
|
||||
*/
|
||||
export interface AccountProviderWithMetadata {
|
||||
metadata: data.AccountProviderMetadata;
|
||||
provider: data.AccountProvider;
|
||||
accounts: data.Account[];
|
||||
metadata: sqlops.AccountProviderMetadata;
|
||||
provider: sqlops.AccountProvider;
|
||||
accounts: sqlops.Account[];
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user