From 8c05ac740c4b99d774619f158ec8683406a7bc86 Mon Sep 17 00:00:00 2001 From: Hardikkumar Nai <80053762+hardiknai-techm@users.noreply.github.com> Date: Thu, 6 May 2021 03:24:50 +0530 Subject: [PATCH 1/3] Remove Explorer.databaseAccount (#717) Co-authored-by: Steve Faulkner --- jest.config.js | 1 + package-lock.json | 816 +++++++++++------- package.json | 1 + src/Common/CosmosClient.ts | 7 +- src/Common/MongoProxyClient.ts | 12 +- src/Common/PortalNotifications.ts | 8 +- src/Common/QueriesClient.ts | 7 +- src/Common/dataAccess/createCollection.ts | 6 +- src/Common/dataAccess/createDatabase.ts | 7 +- src/Common/dataAccess/deleteCollection.ts | 10 +- src/Common/dataAccess/deleteDatabase.ts | 10 +- .../dataAccess/getCollectionDataUsageSize.ts | 10 +- src/Common/dataAccess/readCollectionOffer.ts | 10 +- src/Common/dataAccess/readCollections.ts | 11 +- src/Common/dataAccess/readDatabaseOffer.ts | 10 +- src/Common/dataAccess/readDatabases.ts | 10 +- .../dataAccess/readMongoDBCollection.tsx | 8 +- .../dataAccess/readUserDefinedFunctions.ts | 9 +- src/Common/dataAccess/updateCollection.ts | 10 +- src/Common/dataAccess/updateOffer.ts | 45 +- .../dataAccess/updateStoredProcedure.ts | 16 +- src/Common/dataAccess/updateTrigger.ts | 15 +- .../dataAccess/updateUserDefinedFunction.ts | 15 +- .../DirectoryListComponent.test.tsx.snap | 20 +- .../CodeOfConductComponent/index.test.tsx | 2 +- .../Settings/SettingsComponent.test.tsx | 27 +- .../Controls/Settings/SettingsComponent.tsx | 11 +- .../ScaleComponent.test.tsx | 38 +- .../SettingsSubComponents/ScaleComponent.tsx | 8 +- .../SettingsComponent.test.tsx.snap | 12 - .../ThroughputInput/ThroughputInput.tsx | 6 +- .../DataSamples/ContainerSampleGenerator.ts | 2 +- src/Explorer/Explorer.tsx | 73 +- .../CommandBar/CommandBarComponentAdapter.tsx | 3 +- .../CommandBarComponentButtonFactory.tsx | 14 +- .../Notebook/NotebookContainerClient.ts | 8 +- src/Explorer/Notebook/NotebookManager.tsx | 5 +- src/Explorer/Panes/AddCollectionPane.test.ts | 74 +- src/Explorer/Panes/AddCollectionPane.ts | 19 +- src/Explorer/Panes/AddCollectionPanel.tsx | 4 +- src/Explorer/Panes/AddDatabasePane.test.ts | 76 +- src/Explorer/Panes/AddDatabasePane.ts | 18 +- .../Panes/CassandraAddCollectionPane.ts | 27 +- ...teCollectionConfirmationPane.test.tsx.snap | 34 +- .../ExecuteSprocParamsPane.test.tsx.snap | 84 +- .../GitHubReposPanel.test.tsx.snap | 3 - .../SetupNotebooksPanel.test.tsx.snap | 8 +- .../StringInputPane.test.tsx.snap | 3 - .../__snapshots__/index.test.tsx.snap | 48 +- .../AddTableEntityPanel.test.tsx.snap | 122 +-- .../EditTableEntityPanel.test.tsx.snap | 122 +-- ...eteDatabaseConfirmationPanel.test.tsx.snap | 35 +- src/Explorer/Tables/TableDataClient.ts | 37 +- src/Explorer/Tabs/MongoShellTab.ts | 17 +- src/Explorer/Tabs/NotebookTabBase.ts | 2 +- src/Explorer/Tabs/TabsManager.test.ts | 18 +- src/Explorer/Tabs/TerminalTab.tsx | 3 +- src/Explorer/Tree/Collection.ts | 10 +- src/Explorer/Tree/Database.ts | 2 +- src/Explorer/Tree/ResourceTreeAdapter.tsx | 5 +- src/GitHub/GitHubOAuthService.test.ts | 18 +- src/Juno/JunoClient.test.ts | 15 +- src/Juno/JunoClient.ts | 4 +- src/Platform/Hosted/Authorization.ts | 8 +- src/SelfServe/Example/SelfServeExample.rp.ts | 10 +- src/SelfServe/SelfServeUtils.tsx | 8 +- src/hooks/useKnockoutExplorer.ts | 6 - 67 files changed, 1077 insertions(+), 1046 deletions(-) diff --git a/jest.config.js b/jest.config.js index b1e027c3f..2aff547f7 100644 --- a/jest.config.js +++ b/jest.config.js @@ -69,6 +69,7 @@ module.exports = { moduleNameMapper: { "^.*[.](svg|png|gif|less|css)$": "/mockModule", "@nteract/stateful-components/(.*)$": "/mockModule", + "monaco-editor/(.*)$": "/__mocks__/monaco-editor", "office-ui-fabric-react/lib/(.*)$": "office-ui-fabric-react/lib-commonjs/$1", // https://github.com/OfficeDev/office-ui-fabric-react/wiki/Fabric-6-Release-Notes "^dnd-core$": "dnd-core/dist/cjs", "^react-dnd$": "react-dnd/dist/cjs", diff --git a/package-lock.json b/package-lock.json index 855337a5f..450d71a4e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2110,76 +2110,37 @@ } }, "@fluentui/date-time-utilities": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.0.tgz", - "integrity": "sha512-D8p5WWeonqRO1EgIvo7WSlX1rcm87r2VQd62zTJPQImx8rpwc77CRI+iAvfxyVHRZMdt4Qk6Jq99dUaudPWaZw==", + "version": "7.9.1", + "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz", + "integrity": "sha512-o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==", "requires": { - "@uifabric/set-version": "^7.0.23", + "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" } }, "@fluentui/dom-utilities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.1.tgz", - "integrity": "sha512-w40gi8fzCpwa7U8cONiuu8rszPStkVOL/weDf5pCbYEb1gdaV7MDPSNkgM6IV0Kz+k017noDgK9Fv4ru1Dwz1g==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz", + "integrity": "sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==", "requires": { - "@uifabric/set-version": "^7.0.23", + "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" } }, "@fluentui/keyboard-key": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.12.tgz", - "integrity": "sha512-t3yIbbPKJubb22vQ/FIWwS9vFAzaPYzFxKWPHVWLtxs/P+5yL+LD3B16DRtYreWAdl9CZvEbos58ChLZ0KHwSQ==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.17.tgz", + "integrity": "sha512-iT1bU56rKrKEOfODoW6fScY11qj3iaYrZ+z11T6fo5+TDm84UGkkXjLXJTE57ZJzg0/gbccHQWYv+chY7bJN8Q==", "requires": { "tslib": "^1.10.0" } }, - "@fluentui/react-focus": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.1.tgz", - "integrity": "sha512-Nulq2pE4pX6Pf+tGZl8uLp8VfqUzx3elC5v7QvYSBdjnZK8ykitdsa+Sd3PKYWW2EMlzVRSptlzbuJ6JyEDQKQ==", - "requires": { - "@fluentui/keyboard-key": "^0.2.12", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" - }, - "dependencies": { - "@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", - "requires": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" - } - } - } - }, "@fluentui/react-window-provider": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.1.tgz", - "integrity": "sha512-5hvruDyF0uE8+6YN6Y+d2sEzexBadxUNxUjDcDreTPsmtHPwF5FPBYLhoD7T84L5U4YNvKxKh25tYJm6E0GE2w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.2.tgz", + "integrity": "sha512-fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==", "requires": { - "@uifabric/set-version": "^7.0.23", - "tslib": "^1.10.0" - } - }, - "@fluentui/theme": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.1.tgz", - "integrity": "sha512-cwx8gJ0O9d+Z8g6Lq7BgDgH8XPfSloUSy0GN3fWHJGrDCBPcnmz6/GKbbvxw9PZ2t1iNcAzJEJNT6NyuOOobPA==", - "requires": { - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" } }, @@ -5850,131 +5811,37 @@ } }, "@uifabric/azure-themes": { - "version": "7.6.7", - "resolved": "https://registry.npmjs.org/@uifabric/azure-themes/-/azure-themes-7.6.7.tgz", - "integrity": "sha512-KlfcjxoVn66wamYjWxZY1b7ezMIcX08ZbDZNKMvh/C9zchTqQ8P/cFAcfiBrxhKL3HJtb0CBFkhd3lYcQD76jg==", + "version": "7.7.32", + "resolved": "https://registry.npmjs.org/@uifabric/azure-themes/-/azure-themes-7.7.32.tgz", + "integrity": "sha512-S7mym3EQ/WjRu0+VHLv6HP06BvaszaEl1jXvI8IiP19aWn+AYWEtdB0BjTA8/SUc1PXrRWG/wZgucOgLvKncDA==", "requires": { - "@fluentui/theme": "^1.7.1", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "office-ui-fabric-react": "^7.157.0", + "@fluentui/theme": "^1.7.4", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "office-ui-fabric-react": "^7.168.2", "tslib": "^1.10.0" }, "dependencies": { - "@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", + "@fluentui/react-focus": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.6.tgz", + "integrity": "sha512-JkLWNDe567lhvbnIhbYv9nUWYDIVN06utc3krs0UZBI+A0YZtQmftBtY0ghXo4PSjgozZocdu9sYkkgZOgyRLg==", "requires": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@fluentui/keyboard-key": "^0.2.12", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" } }, - "office-ui-fabric-react": { - "version": "7.157.0", - "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.157.0.tgz", - "integrity": "sha512-nS0RfhQKho2S2hiUxHcgM47AZUK1EzbjkdWkofNHQk8q0PwJkQPTUjTbSuxhQNLzXHiaQJz930ZYUvRCZvlL1w==", - "requires": { - "@fluentui/date-time-utilities": "^7.9.0", - "@fluentui/react-focus": "^7.17.1", - "@fluentui/react-window-provider": "^1.0.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/foundation": "^7.9.21", - "@uifabric/icons": "^7.5.18", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/react-hooks": "^7.13.9", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", - "prop-types": "^15.7.2", - "tslib": "^1.10.0" - } - } - } - }, - "@uifabric/file-type-icons": { - "version": "7.6.24", - "resolved": "https://registry.npmjs.org/@uifabric/file-type-icons/-/file-type-icons-7.6.24.tgz", - "integrity": "sha512-dmBpfWrWovw/TtwUtamfY4UqwsSqzTGm0Npvo/9b0mkIANrO6MGuz8M4MqvAWbzi/vq0dlGP5FF+ShkhtmrMnw==", - "requires": { - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "tslib": "^1.10.0" - }, - "dependencies": { - "@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", - "requires": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" - } - } - } - }, - "@uifabric/foundation": { - "version": "7.9.21", - "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.21.tgz", - "integrity": "sha512-z58pcC0hJr6S0iYLxNFoqfrfLIMxbSxFHRirk5LDT2HXbiVIYbJwbK4O0InS+sz3chdx8GGSdIUz7muXeT/D+A==", - "requires": { - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" - }, - "dependencies": { - "@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", - "requires": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" - } - } - } - }, - "@uifabric/icons": { - "version": "7.5.18", - "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.18.tgz", - "integrity": "sha512-gLPEccWlTER9NiXcOHZ+dSJ3tgLAQ4mTf3hTlKV7e7dKBTl95jzcemG5S2NJQ7xWPTH3+5K1Bpd+nqZo9EJw3w==", - "requires": { - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "tslib": "^1.10.0" - }, - "dependencies": { - "@fluentui/dom-utilities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz", - "integrity": "sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==", + "@fluentui/react-window-provider": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.2.tgz", + "integrity": "sha512-fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==", "requires": { "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" - }, - "dependencies": { - "@uifabric/set-version": { - "version": "7.0.24", - "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz", - "integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==", - "requires": { - "tslib": "^1.10.0" - } - } } }, "@fluentui/theme": { @@ -5986,60 +5853,178 @@ "@uifabric/set-version": "^7.0.24", "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" - }, - "dependencies": { - "@uifabric/merge-styles": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz", - "integrity": "sha512-kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==", - "requires": { - "@uifabric/set-version": "^7.0.24", - "tslib": "^1.10.0" - } - }, - "@uifabric/set-version": { - "version": "7.0.24", - "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz", - "integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==", - "requires": { - "tslib": "^1.10.0" - } - }, - "@uifabric/utilities": { - "version": "7.33.5", - "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", - "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", - "requires": { - "@fluentui/dom-utilities": "^1.1.2", - "@uifabric/merge-styles": "^7.19.2", - "@uifabric/set-version": "^7.0.24", - "prop-types": "^15.7.2", - "tslib": "^1.10.0" - } - } + } + }, + "@types/react": { + "version": "16.14.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.5.tgz", + "integrity": "sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "16.9.12", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.12.tgz", + "integrity": "sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA==", + "requires": { + "@types/react": "^16" + } + }, + "@uifabric/foundation": { + "version": "7.9.26", + "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.26.tgz", + "integrity": "sha512-1FLTb+jlH/Tuel2L9wT/zLl5ZW6W4Lbjrs5VUVjv81vWxzznvPnTf8+Ew0qkzaH7xDuMNMl7okswhV0IfJyheg==", + "requires": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/react-hooks": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz", + "integrity": "sha512-Ndu/DEKHF4gFXEZa2AGgSkdWaj+njVrsSyXbkWRh2UZReFWnH1LMko9p/ZCwk1i9kAd5CUmyIfURUzIEya9YCg==", + "requires": { + "@fluentui/react-window-provider": "^1.0.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" } }, "@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", + "integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==", "requires": { - "@fluentui/theme": "^1.7.1", + "@fluentui/theme": "^1.7.4", "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", + "requires": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + }, + "csstype": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", + "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" + }, + "office-ui-fabric-react": { + "version": "7.168.2", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.168.2.tgz", + "integrity": "sha512-ssN6/6K4Z/PdT2ExE1q61B34w6LqfQrqTvrlq/NfSvDk7USxXvP3+rd7HQAUrynSsWx2MnNeYt23d34sSHLCKw==", + "requires": { + "@fluentui/date-time-utilities": "^7.9.1", + "@fluentui/react-focus": "^7.17.6", + "@fluentui/react-window-provider": "^1.0.2", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/foundation": "^7.9.26", + "@uifabric/icons": "^7.5.23", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/react-hooks": "^7.14.0", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "prop-types": "^15.7.2", "tslib": "^1.10.0" } } } }, - "@uifabric/merge-styles": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.1.tgz", - "integrity": "sha512-yqUwmk62Kgu216QNPE9vOfS3h0kiSbTvoqM5QcZi+IzpqsBOlzZx3A9Er9UiDaqHRd5lsYF5pO/jeUULmBWF/A==", + "@uifabric/icons": { + "version": "7.5.23", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.23.tgz", + "integrity": "sha512-eIvUbH0EWgFgdfgFfINgqS2ZVZTyJ/9n5nR4bmcyAe75wsKxm4ser4WIT9IvaBF6+HFVfjUF/v6+VMD7y2LBng==", "requires": { - "@uifabric/set-version": "^7.0.23", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "tslib": "^1.10.0" + }, + "dependencies": { + "@fluentui/theme": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz", + "integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==", + "requires": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@types/react": { + "version": "16.14.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.5.tgz", + "integrity": "sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "16.9.12", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.12.tgz", + "integrity": "sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA==", + "requires": { + "@types/react": "^16" + } + }, + "@uifabric/styling": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", + "integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==", + "requires": { + "@fluentui/theme": "^1.7.4", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", + "requires": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + }, + "csstype": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", + "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" + } + } + }, + "@uifabric/merge-styles": { + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz", + "integrity": "sha512-kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==", + "requires": { + "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" } }, @@ -6058,23 +6043,83 @@ "@uifabric/utilities": "^7.23.0", "office-ui-fabric-react": "^7.121.10", "tslib": "^1.10.0" + }, + "dependencies": { + "@fluentui/theme": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz", + "integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==", + "requires": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/file-type-icons": { + "version": "7.6.30", + "resolved": "https://registry.npmjs.org/@uifabric/file-type-icons/-/file-type-icons-7.6.30.tgz", + "integrity": "sha512-NpZ5kKFxmT60EvHzKSD9XpKYDLBCJDZw3ae3WhW4k2z67RKo5yOZ76hzN9y3UWW3E0qMw9r2+zFF7JukjQYHtw==", + "requires": { + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "tslib": "^1.10.0" + } + }, + "@uifabric/foundation": { + "version": "7.9.26", + "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.26.tgz", + "integrity": "sha512-1FLTb+jlH/Tuel2L9wT/zLl5ZW6W4Lbjrs5VUVjv81vWxzznvPnTf8+Ew0qkzaH7xDuMNMl7okswhV0IfJyheg==", + "requires": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/styling": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", + "integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==", + "requires": { + "@fluentui/theme": "^1.7.4", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", + "requires": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + } } }, "@uifabric/react-hooks": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.13.9.tgz", - "integrity": "sha512-VtDg2b3ypYXX7MLp1STk1Fj6ZIeZktXnm0hu1Os/pGvq6xkuLRly5XP6ZSHitm8K7ZcMo48CcNL8smmiXprBQg==", + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz", + "integrity": "sha512-Ndu/DEKHF4gFXEZa2AGgSkdWaj+njVrsSyXbkWRh2UZReFWnH1LMko9p/ZCwk1i9kAd5CUmyIfURUzIEya9YCg==", "requires": { - "@fluentui/react-window-provider": "^1.0.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@fluentui/react-window-provider": "^1.0.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" } }, "@uifabric/set-version": { - "version": "7.0.23", - "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.23.tgz", - "integrity": "sha512-9E+YKtnH2kyMKnK9XZZsqyM8OCxEJIIfxtaThTlQpYOzrWAGJxQADFbZ7+Usi0U2xHnWNPFROjq+B9ocEzhqMA==", + "version": "7.0.24", + "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz", + "integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==", "requires": { "tslib": "^1.10.0" } @@ -6089,49 +6134,177 @@ "@uifabric/set-version": "^7.0.15", "@uifabric/utilities": "^7.23.0", "tslib": "^1.10.0" - } - }, - "@uifabric/theme-samples": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/@uifabric/theme-samples/-/theme-samples-7.2.6.tgz", - "integrity": "sha512-oDBKF1I9E9kd75Jmi/WYkd7oMNMMpmkdcrasjnLGjAr8uQUCHIZAWL6Kf0R7EHdvqOupX7LrDZtj4BBBAICfmw==", - "requires": { - "@fluentui/theme": "^1.7.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/variants": "^7.2.32", - "office-ui-fabric-react": "^7.157.0", - "tslib": "^1.10.0" }, "dependencies": { - "@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", + "@types/react": { + "version": "16.14.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.5.tgz", + "integrity": "sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw==", "requires": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "16.9.12", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.12.tgz", + "integrity": "sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA==", + "requires": { + "@types/react": "^16" + } + }, + "@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", + "requires": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "prop-types": "^15.7.2", "tslib": "^1.10.0" } }, - "office-ui-fabric-react": { - "version": "7.157.0", - "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.157.0.tgz", - "integrity": "sha512-nS0RfhQKho2S2hiUxHcgM47AZUK1EzbjkdWkofNHQk8q0PwJkQPTUjTbSuxhQNLzXHiaQJz930ZYUvRCZvlL1w==", + "csstype": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", + "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" + } + } + }, + "@uifabric/theme-samples": { + "version": "7.2.34", + "resolved": "https://registry.npmjs.org/@uifabric/theme-samples/-/theme-samples-7.2.34.tgz", + "integrity": "sha512-olraurYMgXOA3ytPcm8oBcXj/eWZ04pAtpENkHQVujR6Ok4qqka1neVchTW7IBUgw+X+Rl/ampT7sqq77h2JYw==", + "requires": { + "@fluentui/theme": "^1.7.4", + "@uifabric/set-version": "^7.0.24", + "@uifabric/variants": "^7.2.35", + "office-ui-fabric-react": "^7.168.2", + "tslib": "^1.10.0" + }, + "dependencies": { + "@fluentui/react-focus": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.6.tgz", + "integrity": "sha512-JkLWNDe567lhvbnIhbYv9nUWYDIVN06utc3krs0UZBI+A0YZtQmftBtY0ghXo4PSjgozZocdu9sYkkgZOgyRLg==", "requires": { - "@fluentui/date-time-utilities": "^7.9.0", - "@fluentui/react-focus": "^7.17.1", - "@fluentui/react-window-provider": "^1.0.1", + "@fluentui/keyboard-key": "^0.2.12", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@fluentui/react-window-provider": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.2.tgz", + "integrity": "sha512-fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==", + "requires": { + "@uifabric/set-version": "^7.0.24", + "tslib": "^1.10.0" + } + }, + "@fluentui/theme": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz", + "integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==", + "requires": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@types/react": { + "version": "16.14.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.5.tgz", + "integrity": "sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "16.9.12", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.12.tgz", + "integrity": "sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA==", + "requires": { + "@types/react": "^16" + } + }, + "@uifabric/foundation": { + "version": "7.9.26", + "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.26.tgz", + "integrity": "sha512-1FLTb+jlH/Tuel2L9wT/zLl5ZW6W4Lbjrs5VUVjv81vWxzznvPnTf8+Ew0qkzaH7xDuMNMl7okswhV0IfJyheg==", + "requires": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/react-hooks": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz", + "integrity": "sha512-Ndu/DEKHF4gFXEZa2AGgSkdWaj+njVrsSyXbkWRh2UZReFWnH1LMko9p/ZCwk1i9kAd5CUmyIfURUzIEya9YCg==", + "requires": { + "@fluentui/react-window-provider": "^1.0.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/styling": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", + "integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==", + "requires": { + "@fluentui/theme": "^1.7.4", "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/foundation": "^7.9.21", - "@uifabric/icons": "^7.5.18", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/react-hooks": "^7.13.9", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", + "requires": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + }, + "csstype": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", + "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" + }, + "office-ui-fabric-react": { + "version": "7.168.2", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.168.2.tgz", + "integrity": "sha512-ssN6/6K4Z/PdT2ExE1q61B34w6LqfQrqTvrlq/NfSvDk7USxXvP3+rd7HQAUrynSsWx2MnNeYt23d34sSHLCKw==", + "requires": { + "@fluentui/date-time-utilities": "^7.9.1", + "@fluentui/react-focus": "^7.17.6", + "@fluentui/react-window-provider": "^1.0.2", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/foundation": "^7.9.26", + "@uifabric/icons": "^7.5.23", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/react-hooks": "^7.14.0", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", "prop-types": "^15.7.2", "tslib": "^1.10.0" } @@ -6139,25 +6312,73 @@ } }, "@uifabric/utilities": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.2.tgz", - "integrity": "sha512-v2c3IUJdpru/hoGNOwIW549O5D4XBAc5sLpB7RREGI5ywoWuIJlNyYtBEGOwhAY62J2blj11qi86Ep+oZDM/Kw==", + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", "requires": { - "@fluentui/dom-utilities": "^1.1.1", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", "prop-types": "^15.7.2", "tslib": "^1.10.0" } }, "@uifabric/variants": { - "version": "7.2.32", - "resolved": "https://registry.npmjs.org/@uifabric/variants/-/variants-7.2.32.tgz", - "integrity": "sha512-ffyizuMGyF/8SnPqBvdQ5IceiN5nVQkrUI0+GhCuKmZC7IDlW+srjfzzjHZ9QLmnb3N5e/qlCrjbhfgFvTfZ6w==", + "version": "7.2.35", + "resolved": "https://registry.npmjs.org/@uifabric/variants/-/variants-7.2.35.tgz", + "integrity": "sha512-pK9n0QM3wYuE/f7scOhkW0jsSx1BPU6RePeuMJcoriCgK6zeN66p5ySwh+UhjuEtoGaSfVxeFve02hWNTfO8vg==", "requires": { - "@fluentui/theme": "^1.7.1", - "@uifabric/set-version": "^7.0.23", + "@fluentui/theme": "^1.7.4", + "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" + }, + "dependencies": { + "@fluentui/theme": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz", + "integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==", + "requires": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@types/react": { + "version": "16.14.5", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.5.tgz", + "integrity": "sha512-YRRv9DNZhaVTVRh9Wmmit7Y0UFhEVqXqCSw3uazRWMxa2x85hWQZ5BN24i7GXZbaclaLXEcodEeIHsjBA8eAMw==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "16.9.12", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.12.tgz", + "integrity": "sha512-i7NPZZpPte3jtVOoW+eLB7G/jsX5OM6GqQnH+lC0nq0rqwlK0x8WcMEvYDgFWqWhWMlTltTimzdMax6wYfZssA==", + "requires": { + "@types/react": "^16" + } + }, + "@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", + "requires": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + }, + "csstype": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.8.tgz", + "integrity": "sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw==" + } } }, "@ungap/url-search-params": { @@ -7261,9 +7482,9 @@ "integrity": "sha1-SfiW1uhYpKSZ34XDj7OZua/4QPg=" }, "bl": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", - "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "optional": true, "requires": { "buffer": "^5.5.0", @@ -7939,9 +8160,9 @@ }, "dependencies": { "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "optional": true, "requires": { @@ -19353,9 +19574,9 @@ } }, "node-abi": { - "version": "2.19.3", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz", - "integrity": "sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.26.0.tgz", + "integrity": "sha512-ag/Vos/mXXpWLLAYWsAoQdgS+gW7IwvgMLOgqopm/DbzAjazLltzgzpVMsFlgmo9TzG5hGXeaBZx2AI731RIsQ==", "optional": true, "requires": { "semver": "^5.4.1" @@ -20065,24 +20286,6 @@ "tslib": "^1.10.0" }, "dependencies": { - "@fluentui/date-time-utilities": { - "version": "7.9.1", - "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz", - "integrity": "sha512-o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==", - "requires": { - "@uifabric/set-version": "^7.0.24", - "tslib": "^1.10.0" - } - }, - "@fluentui/dom-utilities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz", - "integrity": "sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==", - "requires": { - "@uifabric/set-version": "^7.0.24", - "tslib": "^1.10.0" - } - }, "@fluentui/react-focus": { "version": "7.17.6", "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.6.tgz", @@ -20128,25 +20331,6 @@ "tslib": "^1.10.0" } }, - "@uifabric/icons": { - "version": "7.5.23", - "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.23.tgz", - "integrity": "sha512-eIvUbH0EWgFgdfgFfINgqS2ZVZTyJ/9n5nR4bmcyAe75wsKxm4ser4WIT9IvaBF6+HFVfjUF/v6+VMD7y2LBng==", - "requires": { - "@uifabric/set-version": "^7.0.24", - "@uifabric/styling": "^7.19.0", - "tslib": "^1.10.0" - } - }, - "@uifabric/merge-styles": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz", - "integrity": "sha512-kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==", - "requires": { - "@uifabric/set-version": "^7.0.24", - "tslib": "^1.10.0" - } - }, "@uifabric/react-hooks": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz", @@ -20158,14 +20342,6 @@ "tslib": "^1.10.0" } }, - "@uifabric/set-version": { - "version": "7.0.24", - "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz", - "integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==", - "requires": { - "tslib": "^1.10.0" - } - }, "@uifabric/styling": { "version": "7.19.0", "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", diff --git a/package.json b/package.json index 8a6d354f1..70b1bf588 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,7 @@ "@types/mkdirp": "1.0.1", "@types/node-fetch": "2.5.7", "@uifabric/react-cards": "0.109.110", + "@uifabric/react-hooks": "7.14.0", "@uifabric/styling": "7.13.7", "applicationinsights": "1.8.0", "bootstrap": "3.4.1", diff --git a/src/Common/CosmosClient.ts b/src/Common/CosmosClient.ts index 4e3029290..9ba100b3b 100644 --- a/src/Common/CosmosClient.ts +++ b/src/Common/CosmosClient.ts @@ -43,12 +43,7 @@ export const endpoint = () => { const location = _global.parent ? _global.parent.location : _global.location; return configContext.EMULATOR_ENDPOINT || location.origin; } - return ( - userContext.endpoint || - (userContext.databaseAccount && - userContext.databaseAccount.properties && - userContext.databaseAccount.properties.documentEndpoint) - ); + return userContext.endpoint || userContext?.databaseAccount?.properties?.documentEndpoint; }; export async function getTokenFromAuthService(verb: string, resourceType: string, resourceId?: string): Promise { diff --git a/src/Common/MongoProxyClient.ts b/src/Common/MongoProxyClient.ts index ad22c9257..f9f5b356d 100644 --- a/src/Common/MongoProxyClient.ts +++ b/src/Common/MongoProxyClient.ts @@ -61,7 +61,7 @@ export function queryDocuments( query: string, continuationToken?: string ): Promise { - const databaseAccount = userContext.databaseAccount; + const { databaseAccount } = userContext; const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint; const params = { db: databaseId, @@ -121,7 +121,7 @@ export function readDocument( collection: Collection, documentId: DocumentId ): Promise { - const databaseAccount = userContext.databaseAccount; + const { databaseAccount } = userContext; const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint; const idComponents = documentId.self.split("/"); const path = idComponents.slice(0, 4).join("/"); @@ -167,7 +167,7 @@ export function createDocument( partitionKeyProperty: string, documentContent: unknown ): Promise { - const databaseAccount = userContext.databaseAccount; + const { databaseAccount } = userContext; const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint; const params = { db: databaseId, @@ -206,7 +206,7 @@ export function updateDocument( documentId: DocumentId, documentContent: string ): Promise { - const databaseAccount = userContext.databaseAccount; + const { databaseAccount } = userContext; const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint; const idComponents = documentId.self.split("/"); const path = idComponents.slice(0, 5).join("/"); @@ -247,7 +247,7 @@ export function updateDocument( } export function deleteDocument(databaseId: string, collection: Collection, documentId: DocumentId): Promise { - const databaseAccount = userContext.databaseAccount; + const { databaseAccount } = userContext; const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint; const idComponents = documentId.self.split("/"); const path = idComponents.slice(0, 5).join("/"); @@ -289,7 +289,7 @@ export function deleteDocument(databaseId: string, collection: Collection, docum export function createMongoCollectionWithProxy( params: DataModels.CreateCollectionParams ): Promise { - const databaseAccount = userContext.databaseAccount; + const { databaseAccount } = userContext; const shardKey: string = params.partitionKey?.paths[0]; const mongoParams: DataModels.MongoParameters = { resourceUrl: databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint, diff --git a/src/Common/PortalNotifications.ts b/src/Common/PortalNotifications.ts index 4298b0b8f..774c37cad 100644 --- a/src/Common/PortalNotifications.ts +++ b/src/Common/PortalNotifications.ts @@ -1,8 +1,8 @@ +import { configContext, Platform } from "../ConfigContext"; import * as DataModels from "../Contracts/DataModels"; import * as ViewModels from "../Contracts/ViewModels"; -import { getAuthorizationHeader } from "../Utils/AuthorizationUtils"; import { userContext } from "../UserContext"; -import { configContext, Platform } from "../ConfigContext"; +import { getAuthorizationHeader } from "../Utils/AuthorizationUtils"; const notificationsPath = () => { switch (configContext.platform) { @@ -20,9 +20,7 @@ export const fetchPortalNotifications = async (): Promise => { - const defaultExperience = userContext.apiType; - switch (defaultExperience) { + const { apiType } = userContext; + switch (apiType) { case "SQL": return createSqlContainer(params); case "Mongo": @@ -75,7 +75,7 @@ const createCollectionWithARM = async (params: DataModels.CreateCollectionParams case "Tables": return createTable(params); default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } }; diff --git a/src/Common/dataAccess/createDatabase.ts b/src/Common/dataAccess/createDatabase.ts index d6ea3b834..fc4172ce5 100644 --- a/src/Common/dataAccess/createDatabase.ts +++ b/src/Common/dataAccess/createDatabase.ts @@ -48,8 +48,9 @@ export async function createDatabase(params: DataModels.CreateDatabaseParams): P } async function createDatabaseWithARM(params: DataModels.CreateDatabaseParams): Promise { - const defaultExperience = userContext.apiType; - switch (defaultExperience) { + const { apiType } = userContext; + + switch (apiType) { case "SQL": return createSqlDatabase(params); case "Mongo": @@ -59,7 +60,7 @@ async function createDatabaseWithARM(params: DataModels.CreateDatabaseParams): P case "Gremlin": return createGremlineDatabase(params); default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } } diff --git a/src/Common/dataAccess/deleteCollection.ts b/src/Common/dataAccess/deleteCollection.ts index b1d15ee4b..ec3dd7453 100644 --- a/src/Common/dataAccess/deleteCollection.ts +++ b/src/Common/dataAccess/deleteCollection.ts @@ -27,12 +27,10 @@ export async function deleteCollection(databaseId: string, collectionId: string) } function deleteCollectionWithARM(databaseId: string, collectionId: string): Promise { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; - const defaultExperience = userContext.apiType; + const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext; + const accountName = databaseAccount.name; - switch (defaultExperience) { + switch (apiType) { case "SQL": return deleteSqlContainer(subscriptionId, resourceGroup, accountName, databaseId, collectionId); case "Mongo": @@ -44,6 +42,6 @@ function deleteCollectionWithARM(databaseId: string, collectionId: string): Prom case "Tables": return deleteTable(subscriptionId, resourceGroup, accountName, collectionId); default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } } diff --git a/src/Common/dataAccess/deleteDatabase.ts b/src/Common/dataAccess/deleteDatabase.ts index f30084fc3..4e7d3523c 100644 --- a/src/Common/dataAccess/deleteDatabase.ts +++ b/src/Common/dataAccess/deleteDatabase.ts @@ -30,12 +30,10 @@ export async function deleteDatabase(databaseId: string): Promise { } function deleteDatabaseWithARM(databaseId: string): Promise { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; - const defaultExperience = userContext.apiType; + const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext; + const accountName = databaseAccount.name; - switch (defaultExperience) { + switch (apiType) { case "SQL": return deleteSqlDatabase(subscriptionId, resourceGroup, accountName, databaseId); case "Mongo": @@ -45,6 +43,6 @@ function deleteDatabaseWithARM(databaseId: string): Promise { case "Gremlin": return deleteGremlinDatabase(subscriptionId, resourceGroup, accountName, databaseId); default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } } diff --git a/src/Common/dataAccess/getCollectionDataUsageSize.ts b/src/Common/dataAccess/getCollectionDataUsageSize.ts index a86f22c25..bb53bc6ac 100644 --- a/src/Common/dataAccess/getCollectionDataUsageSize.ts +++ b/src/Common/dataAccess/getCollectionDataUsageSize.ts @@ -1,8 +1,8 @@ import { AuthType } from "../../AuthType"; -import { armRequest } from "../../Utils/arm/request"; import { configContext } from "../../ConfigContext"; -import { handleError } from "../ErrorHandlingUtils"; import { userContext } from "../../UserContext"; +import { armRequest } from "../../Utils/arm/request"; +import { handleError } from "../ErrorHandlingUtils"; interface TimeSeriesData { data: { @@ -45,9 +45,9 @@ export const getCollectionUsageSizeInKB = async (databaseName: string, container return undefined; } - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; + const filter = `DatabaseName eq '${databaseName}' and CollectionName eq '${containerName}'`; const metricNames = "DataUsage,IndexUsage"; const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroup}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/providers/microsoft.insights/metrics`; diff --git a/src/Common/dataAccess/readCollectionOffer.ts b/src/Common/dataAccess/readCollectionOffer.ts index b83d37cb7..4b1e0a9e8 100644 --- a/src/Common/dataAccess/readCollectionOffer.ts +++ b/src/Common/dataAccess/readCollectionOffer.ts @@ -28,14 +28,12 @@ export const readCollectionOffer = async (params: ReadCollectionOfferParams): Pr }; const readCollectionOfferWithARM = async (databaseId: string, collectionId: string): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; - const defaultExperience = userContext.apiType; + const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext; + const accountName = databaseAccount.name; let rpResponse; try { - switch (defaultExperience) { + switch (apiType) { case "SQL": rpResponse = await getSqlContainerThroughput( subscriptionId, @@ -76,7 +74,7 @@ const readCollectionOfferWithARM = async (databaseId: string, collectionId: stri rpResponse = await getTableThroughput(subscriptionId, resourceGroup, accountName, collectionId); break; default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } } catch (error) { if (error.code !== "NotFound") { diff --git a/src/Common/dataAccess/readCollections.ts b/src/Common/dataAccess/readCollections.ts index f12b8074f..7161f598c 100644 --- a/src/Common/dataAccess/readCollections.ts +++ b/src/Common/dataAccess/readCollections.ts @@ -29,12 +29,11 @@ export async function readCollections(databaseId: string): Promise { let rpResponse; - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; - const defaultExperience = userContext.apiType; - switch (defaultExperience) { + const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext; + const accountName = databaseAccount.name; + + switch (apiType) { case "SQL": rpResponse = await listSqlContainers(subscriptionId, resourceGroup, accountName, databaseId); break; @@ -51,7 +50,7 @@ async function readCollectionsWithARM(databaseId: string): Promise collection.properties?.resource as DataModels.Collection); diff --git a/src/Common/dataAccess/readDatabaseOffer.ts b/src/Common/dataAccess/readDatabaseOffer.ts index 17cc80afd..b26976a64 100644 --- a/src/Common/dataAccess/readDatabaseOffer.ts +++ b/src/Common/dataAccess/readDatabaseOffer.ts @@ -27,14 +27,12 @@ export const readDatabaseOffer = async (params: ReadDatabaseOfferParams): Promis }; const readDatabaseOfferWithARM = async (databaseId: string): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; - const defaultExperience = userContext.apiType; + const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext; + const accountName = databaseAccount.name; let rpResponse; try { - switch (defaultExperience) { + switch (apiType) { case "SQL": rpResponse = await getSqlDatabaseThroughput(subscriptionId, resourceGroup, accountName, databaseId); break; @@ -48,7 +46,7 @@ const readDatabaseOfferWithARM = async (databaseId: string): Promise => { rpResponse = await getGremlinDatabaseThroughput(subscriptionId, resourceGroup, accountName, databaseId); break; default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } } catch (error) { if (error.code !== "NotFound") { diff --git a/src/Common/dataAccess/readDatabases.ts b/src/Common/dataAccess/readDatabases.ts index 1026c0654..079c92269 100644 --- a/src/Common/dataAccess/readDatabases.ts +++ b/src/Common/dataAccess/readDatabases.ts @@ -29,12 +29,10 @@ export async function readDatabases(): Promise { async function readDatabasesWithARM(): Promise { let rpResponse; - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; - const defaultExperience = userContext.apiType; + const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext; + const accountName = databaseAccount.name; - switch (defaultExperience) { + switch (apiType) { case "SQL": rpResponse = await listSqlDatabases(subscriptionId, resourceGroup, accountName); break; @@ -48,7 +46,7 @@ async function readDatabasesWithARM(): Promise { rpResponse = await listGremlinDatabases(subscriptionId, resourceGroup, accountName); break; default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } return rpResponse?.value?.map((database) => database.properties?.resource as DataModels.Database); diff --git a/src/Common/dataAccess/readMongoDBCollection.tsx b/src/Common/dataAccess/readMongoDBCollection.tsx index 240e81315..e7ae32c79 100644 --- a/src/Common/dataAccess/readMongoDBCollection.tsx +++ b/src/Common/dataAccess/readMongoDBCollection.tsx @@ -1,9 +1,9 @@ +import { AuthType } from "../../AuthType"; import { userContext } from "../../UserContext"; import { getMongoDBCollection } from "../../Utils/arm/generatedClients/2020-04-01/mongoDBResources"; import { MongoDBCollectionResource } from "../../Utils/arm/generatedClients/2020-04-01/types"; import { logConsoleProgress } from "../../Utils/NotificationConsoleUtils"; import { handleError } from "../ErrorHandlingUtils"; -import { AuthType } from "../../AuthType"; export async function readMongoDBCollectionThroughRP( databaseId: string, @@ -13,9 +13,9 @@ export async function readMongoDBCollectionThroughRP( return undefined; } let collection: MongoDBCollectionResource; - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; const clearMessage = logConsoleProgress(`Reading container ${collectionId}`); try { diff --git a/src/Common/dataAccess/readUserDefinedFunctions.ts b/src/Common/dataAccess/readUserDefinedFunctions.ts index f1a0f52c5..813ff95c5 100644 --- a/src/Common/dataAccess/readUserDefinedFunctions.ts +++ b/src/Common/dataAccess/readUserDefinedFunctions.ts @@ -11,12 +11,13 @@ export async function readUserDefinedFunctions( collectionId: string ): Promise<(UserDefinedFunctionDefinition & Resource)[]> { const clearMessage = logConsoleProgress(`Querying user defined functions for container ${collectionId}`); + const { authType, useSDKOperations, apiType, subscriptionId, resourceGroup, databaseAccount } = userContext; try { - if (userContext.authType === AuthType.AAD && !userContext.useSDKOperations && userContext.apiType === "SQL") { + if (authType === AuthType.AAD && !useSDKOperations && apiType === "SQL") { const rpResponse = await listSqlUserDefinedFunctions( - userContext.subscriptionId, - userContext.resourceGroup, - userContext.databaseAccount.name, + subscriptionId, + resourceGroup, + databaseAccount.name, databaseId, collectionId ); diff --git a/src/Common/dataAccess/updateCollection.ts b/src/Common/dataAccess/updateCollection.ts index f3b9d5002..2d022bbe9 100644 --- a/src/Common/dataAccess/updateCollection.ts +++ b/src/Common/dataAccess/updateCollection.ts @@ -63,12 +63,10 @@ async function updateCollectionWithARM( collectionId: string, newCollection: Partial ): Promise { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; - const defaultExperience = userContext.apiType; + const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext; + const accountName = databaseAccount.name; - switch (defaultExperience) { + switch (apiType) { case "SQL": return updateSqlContainer(databaseId, collectionId, subscriptionId, resourceGroup, accountName, newCollection); case "Cassandra": @@ -87,7 +85,7 @@ async function updateCollectionWithARM( newCollection ); default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } } diff --git a/src/Common/dataAccess/updateOffer.ts b/src/Common/dataAccess/updateOffer.ts index 0050f3648..7f132d729 100644 --- a/src/Common/dataAccess/updateOffer.ts +++ b/src/Common/dataAccess/updateOffer.ts @@ -144,9 +144,8 @@ const updateDatabaseOfferWithARM = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateSqlContainerToAutoscale( @@ -178,9 +177,8 @@ const updateSqlContainerOffer = async (params: UpdateOfferParams): Promise }; const updateMongoCollectionOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateMongoDBCollectionToAutoscale( @@ -212,9 +210,8 @@ const updateMongoCollectionOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateCassandraTableToAutoscale( @@ -246,9 +243,8 @@ const updateCassandraTableOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateGremlinGraphToAutoscale( @@ -280,9 +276,8 @@ const updateGremlinGraphOffer = async (params: UpdateOfferParams): Promise }; const updateTableOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateTableToAutoscale(subscriptionId, resourceGroup, accountName, params.collectionId); @@ -295,9 +290,8 @@ const updateTableOffer = async (params: UpdateOfferParams): Promise => { }; const updateSqlDatabaseOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateSqlDatabaseToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId); @@ -310,9 +304,8 @@ const updateSqlDatabaseOffer = async (params: UpdateOfferParams): Promise }; const updateMongoDatabaseOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateMongoDBDatabaseToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId); @@ -325,9 +318,8 @@ const updateMongoDatabaseOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateCassandraKeyspaceToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId); @@ -340,9 +332,8 @@ const updateCassandraKeyspaceOffer = async (params: UpdateOfferParams): Promise< }; const updateGremlinDatabaseOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateGremlinDatabaseToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId); diff --git a/src/Common/dataAccess/updateStoredProcedure.ts b/src/Common/dataAccess/updateStoredProcedure.ts index 9889ac519..dd6d86f66 100644 --- a/src/Common/dataAccess/updateStoredProcedure.ts +++ b/src/Common/dataAccess/updateStoredProcedure.ts @@ -20,11 +20,13 @@ export async function updateStoredProcedure( ): Promise { const clearMessage = logConsoleProgress(`Updating stored procedure ${storedProcedure.id}`); try { - if (userContext.authType === AuthType.AAD && !userContext.useSDKOperations && userContext.apiType === "SQL") { + const { authType, useSDKOperations, apiType, subscriptionId, resourceGroup, databaseAccount } = userContext; + + if (authType === AuthType.AAD && !useSDKOperations && apiType === "SQL") { const getResponse = await getSqlStoredProcedure( - userContext.subscriptionId, - userContext.resourceGroup, - userContext.databaseAccount.name, + subscriptionId, + resourceGroup, + databaseAccount.name, databaseId, collectionId, storedProcedure.id @@ -38,9 +40,9 @@ export async function updateStoredProcedure( }, }; const rpResponse = await createUpdateSqlStoredProcedure( - userContext.subscriptionId, - userContext.resourceGroup, - userContext.databaseAccount.name, + subscriptionId, + resourceGroup, + databaseAccount.name, databaseId, collectionId, storedProcedure.id, diff --git a/src/Common/dataAccess/updateTrigger.ts b/src/Common/dataAccess/updateTrigger.ts index f4898052b..d43463738 100644 --- a/src/Common/dataAccess/updateTrigger.ts +++ b/src/Common/dataAccess/updateTrigger.ts @@ -16,12 +16,13 @@ export async function updateTrigger( trigger: TriggerDefinition ): Promise { const clearMessage = logConsoleProgress(`Updating trigger ${trigger.id}`); + const { authType, useSDKOperations, apiType, subscriptionId, resourceGroup, databaseAccount } = userContext; try { - if (userContext.authType === AuthType.AAD && !userContext.useSDKOperations && userContext.apiType === "SQL") { + if (authType === AuthType.AAD && !useSDKOperations && apiType === "SQL") { const getResponse = await getSqlTrigger( - userContext.subscriptionId, - userContext.resourceGroup, - userContext.databaseAccount.name, + subscriptionId, + resourceGroup, + databaseAccount.name, databaseId, collectionId, trigger.id @@ -35,9 +36,9 @@ export async function updateTrigger( }, }; const rpResponse = await createUpdateSqlTrigger( - userContext.subscriptionId, - userContext.resourceGroup, - userContext.databaseAccount.name, + subscriptionId, + resourceGroup, + databaseAccount.name, databaseId, collectionId, trigger.id, diff --git a/src/Common/dataAccess/updateUserDefinedFunction.ts b/src/Common/dataAccess/updateUserDefinedFunction.ts index 1d50951d6..3b9449915 100644 --- a/src/Common/dataAccess/updateUserDefinedFunction.ts +++ b/src/Common/dataAccess/updateUserDefinedFunction.ts @@ -19,12 +19,13 @@ export async function updateUserDefinedFunction( userDefinedFunction: UserDefinedFunctionDefinition ): Promise { const clearMessage = logConsoleProgress(`Updating user defined function ${userDefinedFunction.id}`); + const { authType, useSDKOperations, apiType, subscriptionId, resourceGroup, databaseAccount } = userContext; try { - if (userContext.authType === AuthType.AAD && !userContext.useSDKOperations && userContext.apiType === "SQL") { + if (authType === AuthType.AAD && !useSDKOperations && apiType === "SQL") { const getResponse = await getSqlUserDefinedFunction( - userContext.subscriptionId, - userContext.resourceGroup, - userContext.databaseAccount.name, + subscriptionId, + resourceGroup, + databaseAccount.name, databaseId, collectionId, userDefinedFunction.id @@ -38,9 +39,9 @@ export async function updateUserDefinedFunction( }, }; const rpResponse = await createUpdateSqlUserDefinedFunction( - userContext.subscriptionId, - userContext.resourceGroup, - userContext.databaseAccount.name, + subscriptionId, + resourceGroup, + databaseAccount.name, databaseId, collectionId, userDefinedFunction.id, diff --git a/src/Explorer/Controls/Directory/__snapshots__/DirectoryListComponent.test.tsx.snap b/src/Explorer/Controls/Directory/__snapshots__/DirectoryListComponent.test.tsx.snap index df48f5459..c22935fcd 100644 --- a/src/Explorer/Controls/Directory/__snapshots__/DirectoryListComponent.test.tsx.snap +++ b/src/Explorer/Controls/Directory/__snapshots__/DirectoryListComponent.test.tsx.snap @@ -350,11 +350,11 @@ exports[`test render renders with filters 1`] = ` } >