* refactor tabs-for-auth-section helper
* Fill out route params in generated-item + list compoenents
* Add optional route params to ListView pagination
* Add backend to KV breadcrumb link route models
* fix links in kv v2 pages, update kv-breadcrumbs-test
* remove todo
* only generate 2 mounts per client type
* add acme_clients to attribution chart
* add acme clients to running total
* cleanup selectors
* add stat box to single historical month running total, update tests
* update filter subtext
* add mountpath to usage stat description, change tags from h to p
* cleanup extra divs
* remove extra clients text from cluttered stats
* update attribution test
* fix some a11y tests and update attribution counts
* fix a11y violations
* move to beforeEach?
* use model returned by route model hook for ts declaration
* remove hasActivity helper
* refactor mirage so namespace totals are summed from monthly data
* add charts to acme tab
* add controller, update counts test
* add test for acme page
* selector cleanup
* update empty state handling for cc charts
* cleanup conditional logic
* add acme acceptance tests for filtering
* wrap up util updates
* finish acceptance tests
* update usage stats
* wrap up number updates from latest stubbed response
* Glimmerize replication controllers
* Add enable-replication-form component with tests
* use EnableReplicationForm in index and mode routes
* clean up enable action from replication-actions mixin
* fix test failure for structuredClone
* stabilize tests, remove enable action from replication-actions and replication-summary
* Update ui/lib/replication/addon/controllers/replication-mode.js
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* address PR comments
* stabilize oidc test?
---------
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* cleanup namespaceArrayToObject method
* WIP typescript conversion
* WIP typescripted destructured block
* slowly making progress....
* WIP move all types to util type file, separate returns in formatByMonths
* namespaceArrayToObject is working?!?
* fix mirage handler not generating months when queries are after upgrade
* wow, the types are actually working omg
* add comments and update client-count-utils test
* delete old js file
* remove types from activity model
* remove comment
* reuse totalclients type to minimize places we add types
* commit file with type changes for git diff
* delete util file again
* address PR feedback and move type declarations to util file
* remove unused types
* update tests, use client helper in dashboard clients test
* remove typo
* make modifications with updated combined activity response from the backend
* fixes cases where inputs did not have associated labels
* add changelog entry
* update form-field test now that json editor has label
* remove label-related TODOs from other tests
---------
Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
* remove yarn script that no longer works in yarn 3
* delete other deprecated yarn script
* add acme_clients to mirage handler and utils
* consolidate client names
* revert changes to homogenizeClientNaming, wait until confirmation from backend
* remove flattenDataset helper
* revert deleting flattendataset method (done in separate PR)
* move response to helper file
* cleanup utils based on test changes
* add acme_clients to tests
* rename variables and add comments!
* refactor homogenizeClientNaming and rename
* move by_namespace to test helper as well
* add comments and finally delete flattenDataset
* add more comments and update response to match no mounts shape
* update test selector
* finish updates for removing clients: null from serialized response
* final comments!
* remove arrayOfCounts helper
* Update ui/tests/integration/components/clients/page/sync-test.js
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
---------
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
* remove .get() from cluster and vault route
* replace .get() use in adapters
* remove .get() from components part 1
* remove .get() from string-list
* remaining components
* controller .get() removal
* remove .get() use in mixins
* routes/cluster/access* .get() replacement
* policy index route
* routes/secrets/backend*
* route/cluster*
* serializers
* is-active-route
* remaining top-level addon gets
* replication get()
* revery change that broke things
* woops, revert other store service change
* revert some controller changes
* revert get on URLSearchParams class
* remove .sortBy ember method
* small cleanup items
* small cleanups from PR review
* Update add-to-array and remove-from-array helpers
* remove search-select-has-many, moved logic directly into mfa-login-enforcement-form (see #16470)
* Replace add/remove object in MFA files - All MFA tests pass
* Replace in PKI components (pki tests all passing)
* Replace in core addon where applicable
* glimmerize console service -- console tests pass
* more replacements
* update string-list, add comment to vertical-bar-chart
* Refactor CSP Event service
- only used one place (auth-form) so simplified that usage
- glimmerize and refactor so that the tests work
* small updates
* more cleanup
* Fix tests
* Remove objectAt from console-helpers
* Address PR comments
* move commandIndex clearing back
* Remove extra model set
* add secrets sync feature to version service
* fix syntax for feature in version service
* UI [Sidebranch]: correctly call activation flags endpoints (#26068)
* Show empty state on client count sync page if feature isn't activated (#26024)
* page/sync: show empty state if sync is not activated
* tests: add sync page integration tests
* tests: add secrets sync acceptance tests
* cleanup: remove redundant empty state selector
* chore: rename to isSecretsSyncActivated
* Only make POST request to activation-flags in root namespace (#26081)
* Clean up around opt-in banner on non-secrets-sync views (#26039)
* only show and make request to activated-features if enterprise with secrets sync feature
* waiting for final badge title but hiding banner and network request based on if user has secrets-sync feature.
* final copy for badge
* handle dismiss erorr message, custom messaging in errors, different badge names and upsell if not on license.
* add secrets sync feature to version service
* nope, add to main sidebranch not in this PR
* use version service directly to check for secrets sync feature
* update badges to use version service directly
* do not unnecessarily pass hasSecretsSyncFeature, access from version directly
* last spot to update using the feature getter
* cleanup landing cta logic
* UI [Sidebranch]: correctly call activation flags endpoints (#26068)
* small cleanups after merge
* remove unused type imports
* update tests
* update nav link test
* add test waiter for race condition on test
* add waiter to fetch activation-flags
* remove customer waiters and go for waitFors in test
* worth a try? mirage issues?
* closer?
* fix issue with inconsistent asserts
* adding back in in case this is the issue
* revert cluster.hbs change
* skip test
* delete test
---------
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
* Hide sync for managed vault (#26084)
* [secrets sync] hide sync content from client overview (#26078)
* clients/overview: hide secrets sync content if not in license
* clients: remove sync tab if not in license
* routes: fetch isSecretsSyncActivated at clients/counts route level
* wip - hide secrets sync from overview page
* tests: fix usage-stats test
* more wip hiding from overview page
* hide secrets sync on attribution component/modal
* hide secrets sync content on running total component
* fix RunningTotal class name
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* controllers: fix type
* tests: usage tests
* tests: running totals tests
* add s to secrets-sync
* tests: running-total test cleanup
---------
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
* cleanup unused version service
* return extra line
* wip - sync tests
* wip -- clients overview acceptance tests
* test coverage for sync in license, activated
* tests: add more robust sync-related overview tests
* hide sync client charts if feature not in license
---------
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: Chelsea Shaw <cshaw@hashicorp.com>
* chore: update hds and flight-icons
* fix: add missing deps and use .css from HDS
* update HDS components to new syntax
* database-connection-edit: add @waitFor to fix rotate-related acceeptance tests
* use stub to fix confirm-modal-test
---------
Co-authored-by: Alexey Kulakov <uni_que@me.com>
* fix issue of checkbox value not disabling after canceling the modal
* add component test coverage in overview
* add acceptance test to see flow show banner to not show banner
* comment change
* remove unecessary hash and add settled because ci is funny
* circle ci play nice
* forgot to add my changes 🙃
* blah
* that was a lot for delinating the errors properly—😵💫
* pr review comments, thank you for the catches team
* replace all instances of toArray() with slice()
* remove unnecessary array check
* remove superfluous that used to be toArray
* remove other superfluous slices
* Revert "remove other superfluous slices"
This reverts commit 51df83f44ebf0445a18c5cf17283ca7cde23fd53.
* refactor upgradesDuringActivity to return an array
* move filterVersionHistory to util
* remove icon from inline link
* chance copy
* VAULT-24541 change ticket purpose
* add empty string for default break
* remove 1.16 for now
* update copy
* update test param
* add test for upgrade alert banner
* add version-history to mirage and consolidate time variables
* cleanup/fix imports after removing consts from helper file
* update more test dates
* fix attribution date format
* refactor util to just take timestamps
* util test
* use isWithinInterval instead
* finish count and overview updates after fixing mirage
* use the same static_time for all clients/ test files
* remove floating dot
* add default granularity depending on type
* move default setting to helper
* add test coverage for default granularity
* update mirage
* update secret name template
* remove has-text-black class which was making help tooltip black as well
* add granularity form field to sync destinations
* update mirage, shim in subkey response
* fix comment
* add granular updates to list view
* update mirage;
* update test
* comment for updating test
* use hds::dropdown in destinations for consistency
* move banner to popup menu
* add changelog
* remove spans from test
* use format-copy-value helper for copy text in Hds::Copy::Button
* delete helper and revert masked input
* update certificate card to format to string
* add test
* add changelog;
* fixes masked-input component throwing error when there is no value
* removes copy button assertions from masked input test
* reverts masked input assertion removal and updates test selectors
* Address comments
* Fix serailizer warning mesage
* Reset pageFilter when exiting
* Add start and end time validation and fix bugs
* Fix failing tests
* Add validation tests
* Set end time in contorller
* Address feedback
* Remove new date
* Put new Date back
* Show JSON editor by default if secret data is complex, but do not disable JSON toggle
* Add text object warning to kv object editor
* a11y fix: do not disable show diff toggle
* test and language cleanup
* update language
* Update tests for expected behavior
* language!
* Add changelog
* Client Count Routing Updates (#24733)
* updates client count routing for sync and future additions
* adds copyright header to clients sync template
* adds missing copyright headers
* UI: Adds secret_syncs to mirage /activity endpoint (#24846)
* add secret_syncs to mirage endpoint
* import clients handler
* UI: Set up client charts for incoming sync data (#24852)
* sum stacked bar values for tooltip total
* make tooltip dynamic based on chartLegend
* remove redundant helper
* add secret_syncs to client count utils
* move sum function to helper
* update horizontal bar chart to include sync_clients
* calculate sum of bars in tooltip
* rename color palette const, define chart legends in each parent component instead of token.js
* update tooltips
* update mirage handler to add sys/ namespace
* update mirage handler to add sys/ namespace
* use pushObject
* update test
* UI: Secret sync bar chart (#24926)
* install lineal
* add ember-style-modifier dep
* Add client count types for serialized data
* Add sync bar chart component with tests
* Chart is responsive
* address comments
* Clients Counts Parent Route (#24899)
* adds interfaces for clients models
* moves date formatting logic from clients activity adapter to utils file
* adds clients counts route
* updates links to clients route to point to top level and updates redirect to counts overview route
* removes clients base route and moves overview and sync routes under counts
* adds clients counts page component
* converts clients route to ts
* adds billing start timestamp to clients config mirage response and updates counts route to always attempt to fetch activity
* fixes issue with updating namespace and auth mount query params always triggering client counts route model hook
* adds tests for clients counts page component
* adds missing copyright header to client-counts type file
* Update ui/app/components/clients/page/counts.hbs
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* fixes bad import in sync-bar-chart
* updates clients counts route to bypass query if there is not start_time
* pins d3-shape to 1.3.7 for now -- makes lineal play nice with old charts
* fixes sync bar chart tooltip assertion
---------
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* UI: convert line-chart to lineal (#24961)
* lineal chart alongside svg
* Add version-history to sync handler for testing
* line chart is TS, test updated
* remove d3-shape resolution
* fix clients/token-test
* use chartHeight in running-total template
* use M/yy key instead of timestamp, chart is responsive
* Add test for swapping datasets
* add more edge case tests
* more test
* remove untrue assertion
* fix weird decimal when between 1.1k and 2k
* address feedback
* Update line-chart to use timestamp instead of month key
* Add timestamp to all places where month is on the clients activity response
* Client Counts Overview (#24969)
* adds counts base component for use in client counts child routes
* adds clients counts overview page component
* splits out monthly new chart from clients running total component
* adds missing copyright headers
* moves running total related assertions from token to overview acceptance test
* removes new client assertions from running-total test and adds tests for monthly-new component
* updates copy in running-total component
* fixes clients overview tests
* fixes timestamp stub not being restored in monthly-new test
* fixes mfa-login test
* renames counts component to activity
* removes unused selectedAuthMethod arg from running-total component
* adds timestamp back to running-total component
* Secrets sync UI: add sync page component (#24982)
* adds counts base component for use in client counts child routes
* adds clients counts overview page component
* splits out monthly new chart from clients running total component
* adds missing copyright headers
* move sync-bar-chart to charts/ folder
* update types and rename chart
* rename template file
* moves running total related assertions from token to overview acceptance test
* removes new client assertions from running-total test and adds tests for monthly-new component
* updates copy in running-total component
* fixes clients overview tests
* fixes timestamp stub not being restored in monthly-new test
* fixes mfa-login test
* fix 0 values erroring charts
* separate timestamp again
* address merge conflicts
* finish building sync chart component WIP css
* renames counts component to activity
* update import
* revert name to dataKey
* update styling for charts without legends
* use monthly stat chart component for layout
* use monthly chart stats in monthly new
* implement stat wrapper;
* remove extra grid div
* rename component
* fix legend css;
* update test[
* remove arbitrarily setting max
* add single month view
* use stat text
* update line chart tests
* rename line chart
* update tests
---------
Co-authored-by: Jordan Reimer <zofskeez@gmail.com>
* update selectors
* add sync page tests
* Secrets Sync UI: Add secrets syncs to csv export (#25056)
* update mirage and add sync clients to export csv
* fix sync legend label
* remove word
* update copy in modal
* update mirage
* fix attribution tooltip text
* Clients Counts Token Route (#25019)
* renames token route and page component back to dashboard
* adds client counts token route and page component
* updates charts in token page to use ChartContainer component
* adds tests for clients token page component
* restore clients dashboard test
* use var for chart title sync page
* updates clients token page to show usage stats when querying single month
* updates token page clients averages to only include entity and non-entity clients in calculation
* fixes monthly total counts lower than new clients in mirage handler
* fixes token test
---------
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
* Clients Usage Stats/Running Total Updates (#25094)
* updates clients usage counts and running totals
* updates usage stats total copy
* fixes client counts overview tests
* Secrets sync UI: cleanup and consolidation of components (#25090)
* rename authMethod to mountPath
* generalize count template copy
* add todo to delete monthly new component
* rename to tokenTab
* wrap filters in conditional checking for start timestamp
* some users may not have access to /config endpoint
* fix querying when user has no billing date permissions and clicks current billing period
* extend activity component from counts page
* Revert "extend activity component from counts page"
This reverts commit 1d0e85c82faf88c4385a04b1a5841cdde7fd00e0.
* rename to startTimestampISO
* remove timestamp from route and just use activity model responseTimestamp
* fix chart y domain max
* fix typos in usage stat and running totals component
* delete backing class for display only template;
* updates tests
* adds comment for fetching license to get start date for billing
* cleans up unused client counts files (#25157)
* adds changelog
* fix assertion copy
* adds changelog description
* updates enterprise sidebar nav test
---------
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
* UI: [VAULT-21521] Initial config-ui engine and routes set up (#23922)
* UI: [VAULT-21526] Create adapter, serializer, and model files (#23947)
* UI: [VAULT-21588] Add Custom Messages to the sidebar (#23946)
* UI: [VAULT-21527] Mirage setup (#24000)
* UI: [VAULT-21530] Custom Messages List View w/ Pagination and LazyPaginatedQuery (#24133)
* UI: Add list to adapter query param (#24187)
* UI: [VAULT-21532] Create message (#24407)
* WIP create message
* Add breadcrumns
* Create and edit form
* Add save to create/edit form
* Add cancel and todo
* Fix cancel route
* Fix breadcrumb label to be title case
* add start time logic
* Update breadcrumb
* Fix breadcrumbs and merge conflict test
* Update create form description
* Fix sidenav so it always highlights
* Fix up forms
* Mostly working create form
* Form cleanup
* Fix link title and href form fields
* Default startTime
* Fix messages
* Update dropdown to use the updated ConfirmAction component
* Update create and edit form
* Add wip tests
* Fix breadcrumb formatter
* Comment out test
* Update create message test
* Update more tests
* Add comment for fixing date on edit
* Update Message form
* Code cleanup!
* Add validation tests
* Remove authenticated from route model
* SOme more code cleanup
* Add controller so authenticated is parsed
* Working radio buttons
* Use an object instead of arrays
* Wip date form
* Fix license headers
* Fix license headers addition of files
* Fix copyright format issues and clean up code
* Fix tests
* Rename FormField radio getter and ay11 improvements
* Address feedback
* Fix specific date so it remembers the values
* Address feedback!
* Update more form fields
* Use formfield action instead
* Update to every
* Update syntax of onchange
* Fix tests
* Update willDestroy so it doesnt break tests
* Remove set and brodcast datetimelocal
* Put FormField back the way it was in favor of putting FormField to a seperate PR
* Remove getter in formfield component file
* Address more feedback
* Put back test
* Update datetime string format var name and location
* UI: [VAULT-21534 VAULT-21533 VAULT-21536] edit, preview, and delete custom message (#24603)
* Working edit
* VAULT-21536 update delete message and create/update flash message
* VAULT-21533 add preview modal
* Update serializer
* Preview refinements
* Move preview to its own component
* Move breadcrumbs to setupController
* Add more tests
* Address some feedback
* Address more feedback!
* Update serailizer
* Remove stylesheet
* Add comment
* UI: [VAULT-21435] Message details (#24645)
* WIP
* Fix timezone bug
* Fix date issues on create/edit form
* Add details screen
* Use allFields instead of formFields
* Fix tests
* Address comments!
* UI: VAULT-21538 unauth endpoint message display (#24665)
* WIP unauth display
* Add modal custom message
* Close multiple modals
* Update todo with ticket number
* On init make custom message request
* Use serializer
* Update fetchMessages
* Add copyright headers
* Add services and serializers
* Send null instead of empty strings
* Fix tests!
* Add copywrite headers
* Add some acceptance tests
* Test cleanup
* Put tests back
* pass hooks to module
* Move module out
* Seperate tests
* Copywrite
* Add aria-prohibited-attr runList options
* Code cleanup
* Add date-time-local transform
* Add copyright headers
* Remove comments
* Remove date transform stuff for now!
* Put getISODateFormat back into the serailize function
* UI: Date time local transform (#24694)
* Date time local
* Add deserialize
* Add copyright header
* check if date exists
* Use parseISO for date strings since datefns requires this in new update
* Update tests
* Ensure we cehck for an ISOString
* Add checks so tests wont fail
* Update parseISO
* Address feedback
* UI: multiple banner message on create and edit form (#24742)
* WIP multiple banner message on create and edit form
* Fix tests
* Put checks back
* Add try/catch to query
* Fix breadcrumbs
* Add page size to pagination
* Add multiple modal message tests
* Address feedback
* Check for valid form first
* Add extra checks
* Address feedback
* Move getter to the route
* Fix tests!
* Address more feedback
* Use still when cancelling
* Update multiple banner modal
* Fix tests
* Set user confirmation to empty string
* UI: VAULT-21539 auth messages display (#24842)
* WIP auth message display
* Move block to show only when authenticated
* VAULT-22046 working search by name
* Some code clean up
* Fix merge conflict
* Add tests
* Fetch messages again after creation
* UI: [VAULT-22908] Update kv object editor, add max number of messages reached modal, small improvements (#24918)
* Update kv object editor to only use a single row
* continute using kv editype
* Fix failing dashboard tests!
* Fix failing test on sidebranch
* Fix tests and update validations
* Add optional tag
* Address feedback
* Add documentation
* Clear messages when logging out
* Fix tests!
* Add 100 message limit modal
* Add max message modal test
* Do more checks!
* Pair with Claire on the refactor of validator!
* Only show validationerror for multiple rows
* Update pageSize to 100 since when paginations are active it causes accessbility errors
* Fix tests!
* Add links to test
* Make banners dismissable
* Add cancel button
* Address feedback!
* Update test selectors
* Update validator
* Remove validations check in kvobjecteditor
* Revert validationError in kvobjecteditor template
* Put back if/else statements for link
* Add changelog
* UI: fix link bug and add colors (#24977)
* Fix edit bug and put transform back
* Edit badgeColor
* Add tests
* Revert changes to transform
* Edit badge colors
* remove universal object transform
* Update changelog filename
* UI: Add form inline warning (#24986)
* Add form inline warning
* Remove title
* Only show form warning for unauth
* Address feedback!
* leverage isSectionHeader option to change component styling
* update destination models to include new params
* update form and details template to accommodate new fields
* remove extra horizontal line
* move is-empty-value to core addon and use in details template
* remove leftover or conditional
* update mirage and tests
* update form tests
* remove trailing space from inline link
* add validation for white space
* remove icon for inline link
* clear banner if no mount selected
* unobfuscate key_vaul_uri
* add margin below buttons
* add tst for sync banner
* refactor sync form, checking for mountPath was unreliable...bad idea Claire
* updates destination name filter to use FilterInput component
* simplifies destinations list redirect condition
* fixes issue with sync destination type filter and issue filtering by both name and type
* unsets page query param in sync destination secrets route
* update header to refer to destination name
* teeny design improvements VAULT-22943
* update azure model attrs
* remove padding, add destination type to description VAULT-22930 VAULT-22943
* fix overview popupmenu nav to sync secrets VAULT-22944
* update sync banner, hyperlink secret
* redirect when all destinations are deleted VAULT-22945
* add keyVaultUri to credentials for editing
* fix extra space and test for sync banner
* use localName to get dynamic route section to fix pagination transition error
* add copy header remove duplicate app type
* add cloud param to azure mirage destination
* add comments
* enter line
* conditionally render view synced secrets button
* revert pagination route change
* combine buttons and add logic for args
* rename to route
* remove model arg