* build filter toolbar component
* delete unused controllers
* rename enum and move to client count utils
* wire up filters to route query params
* update test coverage
* add support for appliedFilters from parent
* update type of ns param
* move lists to client-list page component
* updates api client vars to snake_case for custom messages
* updates api client vars to snake_case for tools
* updates api client vars to snake_case for sync
* updates api client vars to snake_case for secrets engine
* updates api client vars to snake_case for auth
* updates api client vars to snake_case for usage
* updates api client dep to point to gh repo
* fixes custom-messages service unit tests
* fixes configure-ssh test
* fixes configure-ssh test...again
* change entity_id to camel casing, remove "backends" key from stored auth data
* fix tokenExpirationEpoch returning NaN, use authSuccess in auth service tests
* camel case mfa_requirement references
* refactor auth service
* implement api service for token method
* implement api service in standard auth methods
* add lookupSelf request to persistAuthData method in auht service instead of calling in components
* implement api service in oidc-jwt component
* implement api service in okta component
* implement api service in saml component
* use api service for wrapped_token query param
* remaining test updates, enterprise tests and stabilize auth helpers
* upate renew() to use new persistAuthData method, add a test
* revert as this will be addressed upstream
* rename supported-login-methods to auth-form-helpers and delete old supported-auth-backends helper, update tests
* cleanup normalize after testing mfa validation for each auth method
* update type declarations, set displayName in each method component
* stabilize redirect tests by waiting for login before asserting url
* stabilize tests
* modernize typescript syntax, move error const to util
* use mirage instead of vault server to resolve test race conditions
* fix file import
* updates auth method list and config views to use api service
* adds capabilities checks to auth methods route
* fixes auth method config tests
* updates SecretsEngine type to Mount
* updates listingVisibility value in config test
* adds missing copyright header
* [UI] Ember Data Migration - Secrets Engine Resource (#30791)
* adds base factory for resources and secrets engine resource
* updates dashboard and secret-engine list route to fetch mounts from api service
* updates secret backends routes to use api service
* updates secrets engine config routes to use api service
* updates secrets backend route to use internal mounts endpoint and fixes error handling
* updates property casing in config details card component
* fixes dashboard tests
* fixes issues with engine configuration
* updates api service to only set token header if value is defined in auth service
* fixes more tests
* Update ui/app/routes/vault/cluster/secrets/backend/configuration/index.js
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
* removes alwaysRender from publicKey field in secret engine configuration details component
* removes unused hideToggle arg from secret engine mount config template
* updates kv config route to load secret-engine model
* fixes kv config route
---------
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
* [UI] Ember Data Migration - Secrets Engine Forms (#30951)
* adds secrets engine form class
* updates mount-secret-backend route and form component to use secrets engine form class and api service
* updates to form class proxy for nested form data properties
* adds form classes for configurable secrets engines
* updates secrets engine config edit route and components to use form classes and api service
* adds missing copyright header
* fixes tests
* fixes type error
* updates configure-ssh component to use form class and api service
* updates configure-ssh tests
* updates configuration-wif component tests
* fixes mount secret backend and form tests
* adds method to normalize request key casing to api service
* addresses pr review feedback
* removes unused secrets engine config models, adapters and serializers (#30980)
* fixes azure config tests
* fixes more ent tests
---------
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
* namespace link using router.transitionTo and doesn't re-auth to match namespace-picker
* remove namespace link component and use interactive dd item
* update fn name + test
* trigger build
* add test
* update test
* test updates
* remove unneeded var
* UI: Move `wrapped_token` login functionality to route (#30465)
* move token unwrap functionality to page component
* update mfa test
* remove wrapped_token logic from page component
* more cleanup to relocate unwrap logic
* move wrapped_token to route
* move unwrap tests to acceptance
* move mfa form back
* add some padding
* update mfa-form tests
* get param from params
* wait for auth form on back
* run rests
* UI: Add MFA support for SSO methods (#30489)
* initial implementation of mfa validation for sso methods
* update typescript interfaces
* add stopgap changes to auth service
* switch order backend is defined
* update login form for tests even though it will be deleted
* attempt to stabilize wrapped_query test
* =update login form test why not
* Update ui/app/components/auth/form/saml.ts
Co-authored-by: lane-wetmore <lane.wetmore@hashicorp.com>
---------
Co-authored-by: lane-wetmore <lane.wetmore@hashicorp.com>
* Move CSP error to page component (#30492)
* initial implementation of mfa validation for sso methods
* update typescript interfaces
* add stopgap changes to auth service
* switch order backend is defined
* update login form for tests even though it will be deleted
* attempt to stabilize wrapped_query test
* =update login form test why not
* move csp error to page component
* move csp error to page component
* Move fetching unauthenticated mounts to the route (#30509)
* rename namespace arg to namespaceQueryParam
* move fetch mounts to route
* add margin to sign in button spacing
* update selectors for oidc provider test
* add todo delete comments
* fix arg typo in test
* change method name
* fix args handling tab click
* remove tests that no longer relate to components functionality
* add tests for preselectedAuthType functionality
* move typescript interfaces, fix selector
* add await
* oops
* move format method down, make private
* move tab formatting to the route
* move to page object
* fix token unwrap aborting transition
* not sure what that is doing there..
* add comments
* rename to presetAuthType
* use did-insert instead
* UI: Implement `Auth::FormTemplate` (#30521)
* replace Auth::LoginForm with Auth::FormTemplate
* first round of test updates
* return null if mounts object is empty
* add comment and test for empty sys/internal/mounts data
* more test updates
* delete listing_visibility test, delete login-form component test
* update divs to Hds::Card::Container
* add overflow class
* remove unused getters
* move requesting stored auth type to page component
* fix typo
* Update ui/app/components/auth/form/oidc-jwt.ts
make comment make more sense
* small cleanup items, update imports
* Delete old auth components (#30527)
* delete old components
* update codeowners
* Update `with` query param functionality (#30537)
* update path input to type=hidden
* add test coverage
* update page test
* update auth route
* delete login form
* update ent test
* consolidate logic in getter
* add more comments
* more comments..
* rename selector
* refresh model as well
* redirect for invalid query params
* move unwrap to redirect
* only redirect on invalid query params
* add tests for query param
* test selector updates
* remove todos, update relevant ones with initials
* add changelog
---------
Co-authored-by: lane-wetmore <lane.wetmore@hashicorp.com>
* fix json editor for firefox headless
* Update json-editor-test.js
* fix a11y failure that we were hitting on headless—likely a firefox vs chrome difference as it is not happing on ci
* remove concurrency, not needed from backend list disable action.
* attempt to stabilze mfa timeout issues
* rename disable selector and refactor a flaky test
* WIP updating config-ui engine to use api service and form class
* updates form-field component to support false values for radio types
* updates api-error-message util to log out error in dev env
* fixes issues in custom messages create and edit workflows
* fixes issues in api service
* updates capabilities handling
* updates to custom messages form
* removes store from custom messages tests
* removes store as dependency from config-ui engine
* removes commented out code in messages route
* updates custom-messages service to make requests with api service
* removes namespace args from fetchMessages
* adds tests for custom-messages service
* removes custom messages model, adapter and serializer
* removes custom messages serializer tests
* bump hds to latest version
* disable ember-svg-jar
* fix mfa
* remove ember svg jar dep and cleanup
* cleanup old svgs and fix icon test
* add changelog
* rebuild yarn.lock
* adds linting for types to scripts and lint staged
* fixes issue with AdapterError type
* moves lint-staged setup out of package.json and into config file
* fixes ember data store service type
* fixes route params types
* fixes model types
* fixes general type errors
* fixes ts declaration errors in js files
* adds missing copyright headers
* fixes issue accessing capabilities model properties
* ignores AdapterError import type error
* more updates to AdapterError type
* adds comment to lint-staged config
* moves ember data store type to @ember-data namespace
* updates store import
* moves AdapterError type to @ember-data namespace
* turns ember-data import eslint rule back on
* make one component and make one test file for that component. remove the two components and associated files the new component replaces
* make access type subtext dynamic based on model type
* clean up
* clean up
* remove model attr for display purposes
* split out lease to another second config model type and make is-wif-engine helper
* welp missed the old controller
* small removal of overkill comment
* pr feedback
* save lease config if only thing changed
* error handling in acceptance test
* test fix
* replace notOk with throw
* move back error message
* clean up focused largely on wif component test
* replace ok with true
* move files around
* move fetches to config to the configuration.index route
* working... for aws, lots of clean up left
* move error handling to parent route
* standarize configModel param
* add test coverage
* welp a miss for non configurable engines
* pr comments
* remove mirage interrupts and test actual api
* update configuration details test to test for template only things
* api error coverage
* router changes and appropriate file shuffling
* changelog
* fix test routes
* handle redirect... is this okay?
* test redirect coverage
* move configure-secret-backend test and cleanup
* coverage for non configurable secret engine:
* clean up
* remove redirect
* move non user facing changes to another pr
* remove non-relevant test coverage
* address pr fixes
* Update mountable-secret-engines.js
* Update secrets-engine-mount-config.ts
* clean up
* put back console because of tests and use debug instead
* missed one
* blah fix
* move OktaNumberChallenge and AuthForm to AuthPage component
* return from didReceiveAttrs if component is being torn down
* update auth form test
* change passed task to an auth action
* update auth form unit test
* fix return
* update jsdoc for auth form
* add docs
* add comments, last little cleanup, pass API error to okta number challenge
* separate tests and move Auth::Page specific logic out of auth form integration test
* fix test typos
* fix page tests
* Allow Managed clusters to see Secrets Sync Overview and Sidebar nav (#26649)
* update badge text and allow hvd on secrets sync views
* update logic in Secrets Sync overview and cta for hvd.
* spacing
* rearrange based on pr feedback
* fix return on badgeText and cluster nav test
* fix landing cta tests
* update test to reflect new changes
* moved call to feature-flags from application route to the service to match patterns
* add managed test coverage on overview component test and remove premium feature so cta message appplies to both managed and non-managed clusters
* missed service name and unskip admin test
* clean up
* fix tests
* flags test fix
* Rename isManaged and managedNamespaceRoot (#26697)
* renames
* lowercase HVD to match
* missed some
* test failure
* [Secrets Sync] enable access to Sync clients page for HVD clusters (#26713)
* feat: split client counts navbar into separate component
* acceptance/clients/counts/overview-test: remove tests now covered by int tests
* clients counts route: rename isSecretsSyncActivated to showSecretsSync
* sync clients page: show unactivated state unless sync client history or feature is activated
* client counts navbar: show sync tab only if client history or is /able to be/ activated
* clients overview page: only show sync charts if activated
* fix: rename isManaged to isHvd
* acceptance/counts/overview-test: add HVD tests
* acceptance/counts/overview-test: clean up unused cruft
* aceptance/clients/counts/overview-test: ensure we dont get false negatives
* chore: move Clients::Error to Clients::Counts::Error
* chore: calculate showSecretSync in page component instead of route
* chore: add copyright headers
* acceptance/clients/counts/overview-test: stub activated flags to fix test
* [Secrets sync] update sync test selectors (#26824)
* acceptance/clients/counts/overview-test: use imported test selectors
* general-selectors: add missing emptyStateSubtitle property
* acceptance/clients/counts/sync: nest tests in top level module for easier test runs
* Add permissions check to show/hide activate button (#26840)
* add permissions check to flags service and consume in overview template
* add back missing refresh
* fix test failures
* add test coverage
* clean up
* address flaky test
* grr
* address test failures
* add changelog
* try to fix test failure only on gh
* fix fetch to match previous implementation of feature-flags
* fix failing test
* update comment
---------
Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
Co-authored-by: clairebontempo@gmail.com <clairebontempo@gmail.com>
* Update error states on secret list template
* Remove usage of navToNearestAncestor mixin
* don't throw error on list when 404
* Update test with expected behavior
* cleanup
* Add changelog
* rename
* move activation-flags state to the flags service
* clean up descriptions of services
* fix naming that I missed
* Update secrets.ts
* add test coverage
* services/flags: rearrage getters
---------
Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
* 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
* 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>
* Request resultant-acl only from users root namespace
* Update permissions adapter to always call resultant-acl at users root, with test
* Update resultant-acl to accept failType
* Update permissions service to set permissionsBanner based on resultant-acl contents
* wire it up
* add changelog
* cleanup unused adapter changes
* use getter for shared namespace logic
* 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>