* 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
* resolve todos
* rename chart container component
* template the client-list route
* update tests
* only render colon if items is selected
* stub clients endpoint so activity is consistent
* delete vertical bar grouped
* delete individual routes and tabs for client count types
* add nav-bar component to hide tab in production
* first round of test updates
* skip client list tests for now
* reogranize overview tests
* fix css color for chart
* change chart styling from grid to flex
* add split view for running total chart
* update latest colors from designs
* add changelog
* rename yield blocks to be more flexible
* add conditional for description
* delete routes
* replace attribution charts with a table by month
* update tests to include mount_type
* fix another portion of tests that were missing secret sync stat and testing for old attribution charts
* add tests for attribution table
* add changelog and tidy
* remove remaining todos
* tidy
* reset month query param in ce
* fix tests missing month param
* add margin to pagination in accordance to helios rec
* remove query param, update change log, move table into own comp
* remove commented code
* remove month query params
* tidy
* update test mount paths
* remove unused client attribution component
* update tests
* increase bar width, show new clients only, add timestamp to header, update bar color
* remove extra timestamps, switch to basic bar chart
* update docs and styling
* remove unneeded timestamp args
* show new client running totatls
* initial test updates
* update test
* clean up new client total calc into util fn
* bits of clean up and todos
* update tests
* update to avoid activity call when in CE and missing either start or end time
* update todos
* update tests
* tidying
* move new client total onto payload for easier access
* update more tests to align with copy changes and new client totals
* remove addressed TODOs
* Update comment
* add changelog entry
* revert to using total, update tests and clean up
* Update ui/app/components/clients/page/counts.hbs
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* remove duplicate charts and update descriptions
* update tests after removing extra charts
* tidy
* update instances of byMonthActivityData to use byMonthNewClients and update tests
* Update ui/app/components/clients/running-total.ts
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* update chart styles
---------
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* CE date picker and header changes
* update test
* add changelog and update empty component css
* update modal values from args
* update modal copy
* header changes to add docs and move edit button
* move + update test
* Update ui/app/components/clients/date-range.ts
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
* Update ui/app/components/clients/date-range.ts
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
* refactor modal state and update docs
* update tests
* update modal copy
* Update changelog/30488.txt
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* update date parsing, docs link copy and tidy
* update var name for clarity
* add date range test to check for disallowing current month selection
* update tests to reflect disallowal of current month (or beyond) date selection
* move ce header into page header comp and update tests
---------
Co-authored-by: Angel Garbarino <Monkeychip@users.noreply.github.com>
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* date picker changes (mostly) for ent client counts
* Move edit modal button + padding
* only show start time in dropdown and add changelog
* remove unused variable and update toggle width
* remove unnecessary period end dates
* tidy
* update tests
* Update changelog/30349.txt
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* improve date logic
* add export button back in, re-arrange header, update dropdown
* update when date is shown
* add default for retention months
* update tests and remove unnecessary tests
* account for retention months that are not whole periods
* update logic to show end date on export modal
* update exported file name
---------
Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
* move sync activation and capabilities from flag service to version service and components
* cleanup unnecessary args
* remove permissions service
* un-nest (some) modules
* simplify overview test so logic is easier to follow
* modal test
* update service tests
* change back to 403 because maybe it is permissions related?
* fix tests running on CE
* small cleanup
* fix logic based on feedback
* add logic for hvd specifically, update cluster tests
* 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
* Create date-range component with tests
* update selectors and callback behavior
* update cc tests & selectors
* cleanup
* RIP calendar-widget and date-dropdown -- you were good components
* reset on close
* Add changelog
* use parseApiTimestamp
* fix test
* cleanup
* make date-range typescript, update behavior
* add words
* minor styling
* fix test
* intial changes, haven't tested client counts or done test coverage
* client count rename getter to clairfy
* fix has-permission api-paths
* wip
* wip
* fix: explicitly refresh vault.cluster model to re-fetch activatedFeatures after actication
* tests: fix # of assertions for verifying that activation was called
* tests: tidy overview-test
* add additional api permission path and move fetch back to application
* add test coverage for the service
* cleanup
* remove test that checked for upsell without license or on community
* small comment change
* welp missed component getter
* flaky test fix
* flaky test
* small nit changes from pr reviews
* add defaults to sync mirage handler
* Gate sync overview route for users without access (#27320)
* routes: add redirect if user does not have access to sync
* tests: verify redirect on sync overview page happens
* tests: organize tests modules to ensure enterprise is explicitly set up
* add type enterprise required now because we do a check for this first
* fix oss test
---------
Co-authored-by: Noelle Daley <noelledaley@users.noreply.github.com>
* 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>
* refactor usage stats to use Hds::Card
* use usage stats in other tabs
* use flex row and remove verbose grid css classes
* cleanup selectors, add arg to usage stat selector
* update usage stat test
* update token tab usage stat title
* add test coverage for description and title
* 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
* 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
* hide sync average stat when sync average is 0
* add bug fix for community users without billing start date
* VAULT-25315 link jira
* add CE stub for sync test
* cleanup template to only calculate average once
* fix comment
* add test
* fix conditional
* 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>
* 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
* 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>