Commit Graph
78 Commits
Author SHA1 Message Date
Benjin Dubishar 56d5061942 Set default radio button selection, evaluate default component popula… (#17764)
* Set default radio button selection, evaluate default component population off of selection instead of unprocessed input

* rename var

* if -> switches

* Remove project radio buttons because they require commands that aren't yet checked in (and fail as a result)
2021-12-01 02:31:10 -08:00
Benjin DubisharandNoureldine Yehia 1f98f29eae Apply changes from remote database to sqlproj - schema-compare changes (#17679)
* update project from database

* update project from database

* Merge from main

* Removing dupe test stub

* PR feedback

* cleanup

* PR feedback

* Fixing tests, adding stubs to update sqlproj as schema compare target

* updating code comment

Co-authored-by: Noureldine Yehia <t-nyehia@microsoft.com>
2021-11-22 10:50:36 -08:00
Benjin DubisharandNoureldine Yehia b5f8e81250 Apply changes from Remote Database to sqlproj - mssql changes (#17655)
* update project from database

* update project from database

* update project from database

* Re-adding schemaComparePublishChanges for temporary backcompat

* Adding comment for keeping enum values in sync

* Correcting enum value

Co-authored-by: Noureldine Yehia <t-nyehia@microsoft.com>
2021-11-15 15:42:56 -08:00
Benjin Dubishar d6159a2370 Bump tools service (#17671) 2021-11-15 14:40:40 -08:00
Benjin Dubishar 9b06f3551d Revert "Bump tools service (#17607)" (#17613)
This reverts commit b4d72af3d4.
2021-11-05 16:52:48 -07:00
Benjin Dubishar b4d72af3d4 Bump tools service (#17607) 2021-11-05 14:48:28 -07:00
Benjin Dubisharandllali 5160814623 Dedupe shell command execution logic (#17516)
* Moved to shellExecutionHelper

* First crack

* fixed the deploy tests

* PR comments

* trigger GitHub actions

Co-authored-by: llali <llali@microsoft.com>
2021-11-04 17:16:58 -07:00
Benjin Dubishar 86320155ed Correcting log messages during autorest execution selection (#17434)
* Correcting log messages during autorest execution choice

* Combining redundant strings

* Correcting icon + loc

* Fixing typo
2021-10-22 06:01:11 -07:00
Benjin Dubishar 6f65119166 Use correct string when checking "browse" option (#17432)
* Correct browse string match

* Deduping const
2021-10-21 13:24:35 -07:00
Benjin Dubishar 7f92d8bc19 Add prompt for autorest SQL project name (#17365)
* Adding prompt for project name

* Updating test

* PR feedback

* Fixing rename logic so that folder is also named according to project

* Updating autorest test to confirm rename
2021-10-17 07:53:22 -07:00
Benjin Dubishar ecb7f9311a Adding progress indicator for autorest generation (#17371) 2021-10-15 23:42:57 -07:00
Benjin Dubishar 901b90317c Prompts user for desired action when autorest is not installed (#17305)
* Giving user option to install autorest globally or run via npx

* Adds message for when no files are generated (no models in spec)

* Adding test

* Reinstating the rest of the test suite

* PR feedback

* Fixing tests to stub new prompt when test runner doesn't have autorest installed

* PR feedback

* fix typo

* fix typo
2021-10-15 13:26:58 -07:00
Benjin Dubishar 69128c0689 Verbose output for autorest, displaying output pane on error (#17308) 2021-10-14 15:22:53 -07:00
Benjin Dubishar 547ceba501 Added icon (#17306) 2021-10-13 10:04:26 -07:00
Benjin Dubishar 33d9bfd87f Adding JSON and YML as valid extensions for OpenAPI/Swagger spec files (#17297)
* adding more openAPI spec types

* Correcting extension stripping

* PR feedback
2021-10-07 23:22:21 -07:00
Benjin Dubishar 5feb660234 PR follow-up comments (#17113) 2021-09-20 15:46:34 -07:00
Benjin Dubishar 08e15bce99 Adds autorest-based SQL Project generation to SQL Database Projects extension (#17078)
* Initial changes

* checkpoint

* Constructing project with post deployment script

* Correcting to intentionally read from cached list of projects

* Adding activation event, fixing fresh workspace bug

* Convert netcoreTool and autorestHelper to share a helper class for streamed command

* Include npm package version to force update

* test checkpoint

* Unit tests

* Added contextual quickpicks for autorest dialogs

* Adding projectController test

* Added projectController test, some refactoring for testability

* Merge branch 'main' into benjin/autorest

* Fixing 'which' import

* PR feedback

* Fixing tests

* Adding additional information for when project provider tests fail

* Hopefully fixing failing tests (unable to repro locally)

* Adding Generate Project item to workspace menu

* PR feedback
2021-09-16 20:38:40 -07:00
Benjin Dubishar c68acfde82 Correcting bug to intentionally read from cached list of projects (#16762)
* Correcting to intentionally read from cached list of projects

* using undefined for "workspace not checked yet" rather than empty array
2021-08-12 17:03:06 -07:00
Benjin Dubishar d0bcba4cc0 Corrects workspace project tree refresh behavior for adding new projects to the workspace (#16650)
* bugfix and updates

* PR feedback

* Deferred promise for project disk scan

* fix casing

* fixing race condition on extension activation, test failure
2021-08-11 09:11:00 -07:00
Benjin Dubishar 7e8dccec82 Add setting to hide netcore installation prompt (#15470)
* Add setting to hide netcore installation prompt

* Shortened strings to fit toast

* Updating data workspace string for consistency
2021-05-17 09:59:08 -07:00
Benjin Dubishar ca81290aa1 added missing await, removed duplicate okay button checks (#15450) 2021-05-13 09:47:29 -07:00
Benjin Dubishar 661e7c361d Adding schema compare UX support for external streams/streaming jobs (#14134) 2021-02-01 21:57:46 -08:00
Benjin Dubishar 1c0259f4c5 Telemetry points for SQL Database Projects extension (#14088)
* Added publish and schema compare telemetry
* Adding telemetry points for add/exclude/delete
* telemetry for validation
* Adding telemetry from project roundtrip updates, editing sqlproj, and db refs
* Changed method for obtaining extension ID during registration
* Fixing test failures, updating ads telemetry package dependency
* replacing action strings with enums
* change database project string actions to enums
* Changed action name to better match dialog
* PR feedback
2021-01-31 16:38:48 -08:00
Benjin DubisharandJustin Hutchings c903cd87bf Telemetry for Data Workspaces extension (#13846)
* Add CodeQL Analysis workflow (#10195)

* Add CodeQL Analysis workflow

* Fix path

* test commit pls ignore

* telemetry points

* yarn lock changes

* making test xplat friendly

* PR feedback

* Adding additional telemetry points

Co-authored-by: Justin Hutchings <jhutchings1@users.noreply.github.com>
2021-01-22 14:18:43 -08:00
Benjin Dubishar b69572a7c9 Preserve error messages if workspace validation fails in tests (#13901)
* preserving error messages if test fails

* change name of var to due scope change
2021-01-11 17:50:34 -08:00
Benjin Dubishar f28bdf0d62 vbump 2018 -> 2019 (#13800) 2020-12-14 17:50:16 -05:00
81ed7123c6 Adding base classes for data dev extension telemetry (#13763)
* adding telemetry dependencies for data-workspaces and sql-database-projects

* Adding telemetry dependencies for dacpac extension

* Adding telemetry base to data workspaces and projects

* Adding telemetry base code to the dacpac extension

Co-authored-by: Benjin Dubishar <benjin@Largo.local>
Co-authored-by: Sai Avishkar Sreerama <ssreerama@microsoft.com>
2020-12-10 23:31:10 -05:00
Benjin Dubishar fde031be48 Adding SQL Edge project template (#13558)
* Checkpoint

* removing flag for not creating subfolder

* Adding Edge template

* Removing janky map function

* Adding templates for additional objects

* Updating tests, fixing bug

* Added Edge project icon

* Updating strings to Drew-approved text

* Cleaning up template scripts and Edge project template names
2020-12-03 10:33:31 -08:00
Benjin Dubishar 1078d67728 Update tools service to .61 (#13591) 2020-12-01 13:44:15 -08:00
Benjin Dubishar a9eb6880d4 Adding additional parameter to data workspace provider API (#13570) 2020-11-30 12:52:08 -08:00
Benjin Dubishar aaa8831a7d Enables streaming job validation, minor bugfix (#13287)
* Enabling validation

* Fixing issue where ESJ property isn't set during creation, only from sqlproj load

* Bump dependency on azdata
2020-11-06 16:15:50 -08:00
Benjin Dubishar 9225d6d6aa Disabling validation, changing template for Streaming Jobs (#13253)
* Disable streaming job validation by hiding menu item

* Adding comment to and genercizing column names in external streaming job script
2020-11-05 11:42:26 -08:00
Benjin Dubishar 342ff47e51 Adding External Streaming Job I/O validation (#13195)
* Added Tools Service call for ValidateStreamingJob

* Partial addition of ESJ

* adding test mocks

* Validation working

* Modifying command visibility logic to submatch ESJs in addition to files

* Changed string literal to constant, corrected attribute order

* Added tests

* correcting casing that's causing test failures on linux

* Swapping Thenable for Promise

* excluded validate from command palette
2020-11-02 19:02:20 -08:00
Benjin Dubishar f792684763 Updating SqlToolsService version (#13192) 2020-11-02 16:38:04 -08:00
Benjin Dubishar 0be752b64c Replace literal with constant (#12848)
* Include database-scoped credentials when deploying with default options

* Changing int literal to constant

* replace int literal with named const
2020-10-09 00:17:26 -07:00
Benjin Dubishar 1935ce1adb Include database-scoped credentials when deploying with default options (#12840) 2020-10-08 21:44:23 -07:00
Benjin Dubishar 9652007266 Bumping sqltoolsservice (#12709) 2020-10-01 21:43:11 -07:00
Benjin Dubishar 2b132f6b58 Adding icons to Database Projects' tree view (#11488)
* Add images

* Splitting to light and dark mode icons

* Hooks up icons to treeItems

* updating package.json with new icon and vbump

* move icon loader before tree view created
2020-07-23 11:52:54 -07:00
Benjin Dubishar c963e6ec08 Add test coverage for dacpac wizard import flow (#11483)
* Adding importConfig onPageEnter() test

* Removing redundancy from dacpac wizard pages

* promisifying file selection so it can be awaited in the test

* removing debug prints

* PR feedback
2020-07-23 02:15:05 -07:00
Benjin Dubishar dc7e6f59bd Aligns how Import and New project flows work (#11184)
* Slight import refactor

* Test updates

* Adds test, sets script name for File extractType to projectName

* generating correct folder list

* Correctly setting serverId for Imports started from Object Explorer

* Adding regression test

* uncommented test check
2020-07-14 19:31:22 -07:00
Benjin Dubishar a3030aaf0d Update package.json (#11113) 2020-06-26 14:56:42 -07:00
Benjin Dubishar 770848850d Import spot-fix (#11102) 2020-06-25 15:37:05 -07:00
Benjin Dubishar fdef92ad6b Update README.md (#11094)
* Update README.md

* Update README.md
2020-06-25 00:59:26 -07:00
Benjin Dubishar 283c64a29d Update package.json (#11093)
Adding dependency
2020-06-24 23:44:22 -07:00
Benjin Dubishar 8c6d77e04d Updated displayname and description (#11083) 2020-06-24 18:00:55 -07:00
Benjin Dubishar 00836e1890 Benjin/delete (#11054)
* Adding delete to package.json

* checkpoint

* Delete file working

* Working for nested folders

* Added file/folder deletion test

* addressing feedback

* Swapping QuickPick for modal

* Adding Exclude functionality

* reverting change to package.json
2020-06-24 10:27:58 -07:00
Benjin Dubishar cf73cf5003 Focus projects view when New Project is created (#11048)
* Focusing for new project

* Consolidated focus() logic
2020-06-23 21:08:40 -07:00
Benjin Dubishar a4a8beb6b4 copying dacpac to temp folder before deploying (#11036) 2020-06-23 02:18:04 -07:00
Benjin Dubishar d0b71e116b Create project within folder (#11037) 2020-06-22 21:27:16 -07:00
Benjin Dubishar 691985af2d Revert SqlToolsService version until DacFx can also be brought up to MDS 2.0-final (#10950) 2020-06-16 21:34:56 -07:00
Benjin Dubishar 0f9f9c851e Fixes issue where wrong property was checked for deployment type (#10933)
* Fixes issue where wrong property was checked for deployment type

* improve error message
2020-06-15 19:19:02 -07:00
Benjin Dubishar ddb210e971 Final ADS-side hookup for sqlcmd vars (#10815)
* Adding reading SqlCmdVars from project file

* organized apiWrapper, added calls

* Adding test to confirm deployment/script gen profiles with sqlcmd vars
2020-06-12 19:49:28 -07:00
Benjin DubisharandBenjin Dubishar a7110d8916 Benjin/line endings (#10874)
* dud space

* removal of dud space

* using OS line separator

Co-authored-by: Benjin Dubishar <Benjin@Benjins-MBP.T-mobile.com>
2020-06-11 17:54:30 -07:00
Benjin Dubishar 5ab6d3d07e Format sqlproj file XML on serialization (#10818)
* Format XML on serialization

* Updating licences

* Adding missing line in package.json

* tabs to spaces

* Updating yarn.lock file
2020-06-10 19:57:59 -07:00
Benjin Dubishar 24e6ed5075 Adds welcome message for database projects (#10820)
* Removing duplicate Import command piping

* Adding welcome message + buttons

* Adding welcome button to Import

* Correcting typos
2020-06-09 15:29:01 -07:00
Benjin Dubishar 02598621c3 Focus database projects view after open/import (#10760) 2020-06-09 09:42:52 -07:00
Benjin Dubishar 0ac6a07c5f Fix for Sqlproj tree bug (#10605)
Fixes bug where files located in a subfolder defined before the folders themselves in .sqlproj would result in those files not appearing in the ADS treeview
2020-06-01 22:41:00 -07:00
Benjin Dubishar f0d86f8acb Database projects deploy (#10417)
* Hooking up deployment of SQL projects to the project build functionality and database selection UI
* Adding ADS-side plumbing for sqlcmdvars
2020-05-26 14:28:09 -07:00
Benjin Dubishar efb890697c Adding sqlproj extension to coveralls workflow (#10468) 2020-05-20 18:26:33 -07:00
Benjin Dubishar 80901c9a7b Swapping vscode calls for ApiWrapper for testability (#10267)
* swapping vscode calls for apiwrapper for testability

* Adding mainController tests

* Adding unit tests for input validation

* Adding project controller tests, reorganizing error handling

* Removing commented-out code
2020-05-06 14:16:27 -07:00
Benjin Dubishar 9b296c9f42 Organizes context menus for database projects tree (#10266)
* reoranizing existing context menu commands

* adding build/deploy/import stubs

* Update error message

* adding for schemaCompare
2020-05-06 11:31:17 -07:00
Benjin Dubishar 5498c1c3a9 Knobs for unit-testing extensions (#10178)
Converted `test-extensions-unit.bat` to javascript to add a small QoL improvement that I think people will find useful: specifying which extension(s) you want to run tests for instead of commenting out lines of a script.

In addition to existing behavior being mostly preserved (node test-extensions-unit.js defaults to running all unit tests), you can specify one or more:

```
node test-extensions-unit.js sql-database-projects
node test-extensions-unit.js sql-database-projects schema-compare
```
2020-05-04 13:07:52 -07:00
Benjin Dubishar 52f33cc587 Fixing bug where templates may get mapped before loaded from their files (#10111)
* Fixing potential bad order of template loading and map construction

* Fixing bug where templates get mapped before loaded from file

* Parallelizing loading templates from file
2020-04-22 17:01:19 -07:00
Benjin Dubishar b3492e3f57 Creating a new database project, project items
* can create, open, and close sqlproj files
* can add sql objects to projects
2020-04-17 14:09:59 -07:00
Benjin Dubishar 1a639f83c4 .sqlproj and datasources.json file parsing (#8921)
* Checkpoint

* Adding mock contents for tree

* added open sqlproj dialog

* reading files from directory

* Added directory traversal

* Adding tree sorting by folder vs file and label

* Improved auto-unfolding of tree based on node type

* replacing fs with fs.promise alias

* PR feedback

* added activation event for when workspace contains sqlproj files

* Returning after displaying error

* Fixing linter errors

* Reworked tree

* Fixing missing grandchildren

* Correcting tree URI construction

* Refactoring to isolate tree item responsibilities from data model responsibilities

* project file parsing

* constructing tree from project files rather than filesystem

* Fixing double-initialization

* Changing projectEntry to take enum for file type

* Correct node type for project item

* Parsing datasources.json

* Child nodes for sql data source

* Localizing strings

* Checkpoint

* Adding mock contents for tree

* added open sqlproj dialog

* reading files from directory

* Added directory traversal

* Adding tree sorting by folder vs file and label

* Improved auto-unfolding of tree based on node type

* replacing fs with fs.promise alias

* PR feedback

* added activation event for when workspace contains sqlproj files

* Returning after displaying error

* Fixing linter errors

* Reworked tree

* Fixing missing grandchildren

* Correcting tree URI construction

* Refactoring to isolate tree item responsibilities from data model responsibilities

* project file parsing

* constructing tree from project files rather than filesystem

* Fixing double-initialization

* Changing projectEntry to take enum for file type

* Correct node type for project item

* Parsing datasources.json

* Child nodes for sql data source

* Localizing strings

* missed file in merge

* changed extension method to helper

* cleanup

* Adding docstrings
2020-02-24 12:11:41 -08:00
Benjin Dubishar 51ab435e5f Initial SQL Project tree viewlet in Explorer sidebar (#8639)
* Adding mock contents for tree
* added open sqlproj dialog
* reading files from directory
* Added directory traversal
* Adding tree sorting by folder vs file and label
* Improved auto-unfolding of tree based on node type
* replacing fs with fs.promise alias
* added activation event for when workspace contains sqlproj files
* Returning after displaying error
2019-12-27 12:42:23 -08:00
Benjin Dubishar 88b55d0e06 Fixing extension exclusion name (#8616) 2019-12-09 18:52:11 -08:00
Benjin Dubishar a8818ab0df Initial commit of Database Projects extension (#8540)
* Initial commit of Database Projects extension

* Removing unused references, correcting license, tabs -> spaces in package.json

* cleaning up linter errors
2019-12-04 15:02:55 -08:00
Benjin Dubishar a7f5741608 Correcting license link on schema-compare (#8560) 2019-12-04 14:44:04 -08:00
Benjin Dubishar d262ea21e3 Addresses accessiblility bug by converting editable dropdowns to normal when in accessible mode (#7159)
* Automatically disabling editability on extension dropdowns when in accessible mode

* correcting variable name type
2019-09-12 11:08:05 -07:00
Benjin Dubishar 66cdbbb335 Automatically focus the execute button in the DacFx wizard summary screens (#6984)
* Focus piping for extension buttons

* Focus the done button when entering the summary page for DacFx wizard

* Adding internal value resets for extension-side button model.

* Correcting remark string
2019-09-09 14:57:28 -07:00
Benjin Dubishar faf6eae535 Inform screen-readers of Dacpac Deploy loading and loading complete for summary (#7000)
* Loading components now announce themselves.  Likely need way to disable.

* Adding focus elements to table for screen-reading after component is loaded in

* Adding piping for aria roles on tables

* Alerting on completion of deploy plan summary

* Removing extra ariaLive property
2019-08-28 14:42:40 -07:00
Benjin Dubishar 5b75061bf0 Adding new aria properties to extHostModelView (#6881) 2019-08-23 10:37:14 -07:00
Benjin Dubishar 887b2bfd2b Adding aria-live label support for input boxes (#6862)
* Adding aria-live support for InputBoxes

* Adding aria-live setting for DacFx wizard InputBox control

* Dud commit to unstick Github CI
2019-08-22 14:01:19 -07:00
Benjin Dubishar 29c5977281 Adding role="presentation" to all formContainers to silence the announcement of "table". (#6838) 2019-08-20 17:03:29 -07:00
Benjin Dubishar 949ea4b6c3 Adds ariaRowcount to virtualized tables in SchemaCompare options (#6816)
* Adds button extension for explicitly setting aria-label, in case the label is not screen-reader friendly

* Explicitly set aria-label for ellipsis buttons in SchemaCompare

* Changing localize call to double-quotes

* Removes unused getter for ariaLabel

* Adding aria-rowcounts for long scrollable tables
2019-08-20 13:17:13 -07:00
Benjin Dubishar 77bf228809 Improve narration for backup and dacpac UIs (#6783)
* Added ability to specify aria-rowcount and -colcount to tables.

* Cleanup

* Adds aria role to table container so that screen-readers ignore it
2019-08-19 16:51:38 -07:00
Benjin Dubishar b05e35bdd7 Benjind/schema compare add aria label (#6767)
* Adds button extension for explicitly setting aria-label, in case the label is not screen-reader friendly

* Explicitly set aria-label for ellipsis buttons in SchemaCompare

* Changing localize call to double-quotes

* Removes unused getter for ariaLabel
2019-08-15 15:14:37 -07:00