* Update contracts for new all resource messages
* Add timestamp to token message signature
* Reconstruct resource tree with databases and collections parsed from token dictionary keys
* Create FabricDatabase and FabricCollection to turn off interaction
* Remove unnecessary FabricCollection derived class
* Handle resource tokens
* Bug fix
* Fix linting issues
* Fix update document
* Fix partitition keys
* Remove special case for FabricDatabase tree node
* Modify readCollections to follow normal flow with Fabric
* Move fabric databases refresh to data access and remove special case in Explorer
* Revert Explorer.tsx changes
* Disable database context menu and delete container context menu
* Remove create database/container button for Fabric
* Fix format
* Renew token logic
* Parallelize read collections calls to speed up
* Disable readDatabaseOffer, because it is too slow for now
* Reduce TOKEN_VALIDITY_MS a bit to make sure renewal happens before expiration. Receving new tokens new refreshes databases
* Add container element for Main app in HTML
* Do not handle "openTab" message anymore
* Fix style of main div
* Simplify conditional load of the fabric .css
* Fix format
* Fix tsc can't find dynamic less import
---------
Co-authored-by: Armando Trejo Oliver <artrejo@microsoft.com>
* Add Sample Data to Resource Tree
* Format
* Fix strict build
* Fix lint
* Fixed implementation to show Sample data container
* Udated logic based on TokenCollection
* Re-configure copilot flag
---------
Co-authored-by: Predrag Klepic <v-prklepic@microsoft.com>
* Adding RU thermometer to settings throughput tab
* Finalizing RU thermometer on throughput settings
* Updated snapshot
* Fixing formatting
* Fixing lint errors
* Rerun prettier
* Fixing Offer properties
* Fixing Types
* Updating ARM clients, and enabling new elasticity properties
* Updating snapshots
* Updating an issue caused by updating ARM client
* Latest changes based on feedback
* Fixing lint and unit tests
* Minor fix
* Minor text change
* Changed some formatting
* Fixes issue where empty partition key is treated like nonexistent key for Tables API
* Updated format
* Refactor fix
* Prettier
* Fixes issue when CRUD with no parition key for all APIs
* Format fix
* Refactor to explicitly check for Tables
- Removed `readCollectionQuotaInfo` call. The only data we need is the usage size which we can get via the ARM metrics call instead.
- Added `getCollectionUsageSize` which fetches the `DataUsage` and `IndexUsage` metrics, converts them to KB, and returns the sum as the total usage size
* Index refresh component introduced
- Made all notifications in Mongo Index editor have 12 font size
- Added indexing policy refresh to sql indexing policy editor
- Added "you have unsaved changes" message, replace old message for lazy indexing policy changes
* formatting changes
* addressed PR comments
- created `getErrorMessage` function which takes in an error string or any type of error object and returns the correct error message
- replaced `error.message` with `getErrorMessage` since `error` could be a string in some cases
- merged sendNotificationForError.ts with ErrorHandlingUtils.ts
- some minor refactoring
In part 2, I will make the following changes:
- Make `Logger.logError` function take an error message string instead of an error object. This will reduce some redundancy where the `getErrorMessage` function is being called twice (the error object passed by the caller is already an error message).
- Update every `TelemetryProcessor.traceFailure` call to make sure we pass in an error message instead of an error object since we stringify the data we send.
* added SettingsV2 Tab
* lint changes
* foxed failing test
* Addressed PR comments
- removed dangerouslySetInnerHtml
- removed underscore dependency
- added AccessibleElement
- removed unnecesary exceptions to linting
* split render into separate functions
- removed sinon in test
- Added some enums to replace constant strings
- removed dangerously set inner html
- made autopilot input as StatefulValue
* add settingscomponent snapshot
* fixed linting errors
* fixed errors
* addressed PR comments
- Moved StatefulValue to new class
- Split render to more functions for throughputInputComponents
* Added sub components
- Added tests for SettingsRenderUtls
- Added empty test files for adding tests later
* Moved all inputs to fluent UI
- removed rupm
- added reusable styles
* Added Tabs
- Added ToolTipLabel component
- Removed toggleables for individual components
- Removed accessible elements
- Added IndexingPolicyComponent
* Added more tests
* Addressed PR comments
* Moved Label radio buttons to choicegroup
* fixed lint errors
* Removed StatefulValue
- Moved conflict res tab to the end
- Added styling for autpilot radiobuttons
* fixed linting errors
* fix bugs from merge to master
* fixed formatting issue
* Addressed PR comments
- Added unit tests for smaller methods within each component
* fixed linting errors
* removed redundant snapshots
* removed empty line
* made separate props objects for subcomponents
* Moved dirty checks to sub components
* Made indesing policy component height = 80% of view port
- modified auto pilot v3 messages
- Added Fluent UI tolltip
-
* Moved warning messages inline
* moved conflict res helpers out
* fixed bugs
* added stack style for message
* fixed tests
* Added tests
* fixed linting and format errors
* undid changes
* more edits
* fixed compile errors
* fixed compile errors
* fixed errors
* fixed bug with save and discard buttons
* fixed compile errors
* added MongoIndexingPolicy component
* addressed PR comments
* moved read indexes to scale context
* added add index feature
* added AddMongoIndexComponent
* Added collapsible portions and focus changes
* removed unnecessary imports
* finetuned UI
* more edits
* Added mongoindexeditor flight
- Moved add index UI to within current index pane
* minro edits
* Added separate warning messages for index refresh
* aligned items
* Fixed tests
* minor edits
* resolved PR comments
* modified refs usage
* compile errors fixed
* moved fetch of notifications and offer to within the tab activation
* fixed PR comments
* added error handling
* added AAD verification
* removed l empty line
* added back line
* deleted file
* added file
* addressed PR comments
* addressed PR comments
* fixed format error
* updated package.json
* updated package-lock.json
1. After moving read databases call to RP for Tables API, we lose the `_rid` property. Since we are reading Table's database offer with SDK, we need the `_rid` of the database to find its offer. Without `_rid`, we won't be able to find the database offer and the Scale tab would disappear again. The fix is to use SDK to read databases for Table API so we have `_rid`.
2. There's a bug in the non-aad code path for updating offers which prevents users from switching from manual to autoscale and vice versa. The fix is to properly set the option headers.
Since I've cleaned up all the places that use `_rid` and `_self` of a database in my previous commit (d525afa142), we are safe to use RP to read databases for all APIs except Tables.
For Tables API, since RP doesn't support any database level operations, I have to hardcode the read database response. The only property we need in the Tables database is the id which is the string that we display in the resource tree.
Things like ConfigContext.BACKEND_ENDPOINT are dynamically changed, and assigning them statically like this only bypasses that mechanism :(
Co-authored-by: Steve Faulkner <471400+southpolesteve@users.noreply.github.com>