39 Commits

Author SHA1 Message Date
lane-wetmore
ddd34fdbc5
UI: CE Datepicker (#30488)
* 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>
2025-05-09 12:26:43 -05:00
Chelsea Shaw
7257da888c
UI - Update Client Count filtering (#28036) 2024-08-22 10:01:16 -05:00
Chelsea Shaw
111647f851
UI: Remove deprecated Client Count keys (#27916)
* remove destructureClientCounts

* Update type and mirage generator

* remove deprecated keys from hardcoded response samples

* Add back destructureClientCounts with updated description
2024-07-30 13:04:20 -05:00
Chelsea Shaw
979cf9011c
don't regenerate mirage data if the date range has already been queried (#27760) 2024-07-11 16:29:24 -05:00
claire bontempo
6f00ce45d2
UI: remove current_billing_period from dashboard activity log request (#27559)
* remove current_billing_period from dashboard request

* add changelog

* remove timestamp from assertion

* update mirage
2024-06-21 11:06:53 -07:00
claire bontempo
55547fb81d
UI: Add validation for activity counter config retention_months max (#27429) 2024-06-11 08:08:47 -07:00
claire bontempo
7874f06ca3
UI: Only include upgrades with previous versions (#26870)
* only include upgrades with previous versions

* update tests

* fix prettier linting

* update counts test

* why are you failing??

* match key order of expected object to actual

* timezones -_-

* attempt to fix flaky openapi test again
2024-05-08 13:29:07 +00:00
claire bontempo
1e8eefade1
UI: wrap client count card in permission conditional (#26848)
* consistent timestamp format

* wrap client count card in permissions

* add test

* add changelog

* move tests into module, add more!

* final test cleanup, stub permissions manually without helper

* use current_billing_period for dashboard, add tests

* update mirage to handle new client param

* Update ui/app/components/dashboard/client-count-card.js
2024-05-07 17:45:42 +00:00
claire bontempo
843270df7c
UI: Add 1.17 changes to upgrade alert (#26843)
* add upgrade alert for 1.17

* add acme clients to modal export text

* add to mirage for tests

* add test
2024-05-06 18:56:37 +01:00
Chelsea Shaw
9a9086ef4b
UI: Fix sync test (#26820)
* Add mirage response for internal/counters/config to set a static billingStartTimestamp before STATIC_NOW

* Export config response from mirage handler
2024-05-06 14:37:46 +00:00
claire bontempo
7469053bac
UI: Add ACME client counts to overview tab (#26484)
* 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?
2024-04-19 12:18:20 -07:00
claire bontempo
3f19f8b0f0
UI: Add charts to ACME client count tab (#26385)
* 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
2024-04-16 20:58:54 -07:00
claire bontempo
009702cae0
UI: Convert client count utils to typescript (#26262)
* 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
2024-04-09 20:53:16 +00:00
claire bontempo
d8e6ed1c5b
Add acme_clients to mirage and client count utils (#26232)
* 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>
2024-04-03 20:21:24 +00:00
claire bontempo
164a1af54a
UI: Return upgrade banner to refactored client count UI (#25733)
* 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
2024-03-04 21:33:43 -08:00
Jordan Reimer
947a00ccb3
Secrets Sync Client Count Updates (#24752)
* 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>
2024-02-01 10:01:07 -07:00
hashicorp-copywrite[bot]
0b12cdcfd1
[COMPLIANCE] License changes (#22290)
* Adding explicit MPL license for sub-package.

This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository.

* Adding explicit MPL license for sub-package.

This directory and its subdirectories (packages) contain files licensed with the MPLv2 `LICENSE` file in this directory and are intentionally licensed separately from the BSL `LICENSE` file at the root of this repository.

* Updating the license from MPL to Business Source License.

Going forward, this project will be licensed under the Business Source License v1.1. Please see our blog post for more details at https://hashi.co/bsl-blog, FAQ at www.hashicorp.com/licensing-faq, and details of the license at www.hashicorp.com/bsl.

* add missing license headers

* Update copyright file headers to BUS-1.1

* Fix test that expected exact offset on hcl file

---------

Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
Co-authored-by: Sarah Thompson <sthompson@hashicorp.com>
Co-authored-by: Brian Kassouf <bkassouf@hashicorp.com>
2023-08-10 18:14:03 -07:00
Chelsea Shaw
bf2f1a88d6
UI: Fix flaky time-related tests (#19521) 2023-03-22 13:19:11 -05:00
Hamid Ghaf
e55c18ed12
adding copyright header (#19555)
* adding copyright header

* fix fmt and a test
2023-03-15 09:00:52 -07:00
claire bontempo
fbed961190
UI: combine current + history client count tabs into one dashboard (#17575)
* WIP/initial routing-ish

* refactor date dropdown to reuse in modal and allowe current month selection

* swap linter disable line

* refactor date-dropdown to return object

* refactor calendar widget, add tests

* change calendar start and end args to getters

* refactor dashboard to use date objects instead of array of year, month

* remove dashboard files for easier to follow git diff

* comment out dashboard tab until route name updated

* delete current tab and route

* fix undefined banner time

* cleanup version history serializer and upgrade data

* first pass of updating tests

* add changelog

* update client count util test

* validate end time is after start time

* update comment

* add current month to calendar widget

* add comments for code changes to make following API update

* Removed a modified file from pull request

* address comments/cleanup

* update variables to const

* update test const

* rename history -> dashboard, fix tests

* fix timestamps for attribution chart

* update release note

* refactor using backend start and end time params

* add test for adapter formatting time params

* fix tests

* cleanup adapter comment and query params

* change back history file name for diff

* rename file using cli

* revert filenames

* rename files via git cli

* revert route file name

* last cli rename

* refactor mirage

* hold off on running total changes

* update params in test

* refactor to remove conditional assertions

* finish tests

* fix firefox tooltip

* remove current-when

* refactor version history

* add timezone/UTC note

* final cleanup!!!!

* fix test

* fix client count date tests

* fix date-dropdown test

* clear datedropdown completely

* update date selectors to accommodate new year (#18586)

* Revert "hold off on running total changes"

This reverts commit 8dc79a626d549df83bc47e290392a556c670f98f.

* remove assumed 0 values

* update average helper to only calculate for array of objects

* remove passing in bar chart data, map in running totals component instead

* cleanup usage stat component

* clear  ss filters for new queries

* update csv export, add explanation to modal

* update test copy

* consistently return null if no upgrade during activity (instead of empty array)

* update description, add clarifying comments

* update tes

* add more clarifying comments

* fix historic single month chart

* remove old test tag

* Update ui/app/components/clients/dashboard.js
2023-01-26 18:21:12 -08:00
Jordan Reimer
483ef19946
Eslint prefer-const (#17864)
* adds prefer-const to eslint config and runs fixer

* reverts unintended change
2022-11-09 15:15:31 -08:00
claire bontempo
47a43ab8ac
UI/1.11 client count component tests (#15748)
* add line chart test

* add empty state option to line chart

* add empty state test

* add tooltip coverage

* add test files

* add monthly usage tests

* finish tests

* tidying

* address comments, add average test

* finish tests broken from calendar
2022-06-03 15:47:19 -07:00
claire bontempo
b00016582b
UI/1.11 client tests (#15658)
* date formatters test

* add mirage to client history test

* use mirage for client tests

* update assertions

* convert to using pretender

* finish client history tests

* remove pretender, use mirage

* re-add flaky test

* add todos

* finish tests

* update month response

* update plot count
2022-06-01 11:42:05 -07:00
Chelsea Shaw
fef6469dcf
UI: Fix version-history serializer and update mirage to reflect real API (#15362)
* Fix version-history serializer and update mirage to reflect real API

* add missing periods

* fix tests

Co-authored-by: Claire Bontempo <cbontempo@hashicorp.com>
2022-05-11 10:26:20 -07:00
Chelsea Shaw
64994a076b
UI/single historical month (#15350)
* Hide MonthlyUsage if only one month of data

* Display stat text instead of chart if data passed to running-total includes only one month

* Update clients mirage to return single month if end and start time are the same

* Update clients mirage to work with filtering

* Add comments

* More padding

* Address comments

* Refactor mirage month data to be oldest to newest

* Use stat text which automatically formats number
2022-05-10 17:32:36 -05:00
claire bontempo
a55476dd62
UI/filter monthly graphs (#15279)
* alphabetize utils

* add util to add namespace key

* finish filtering

* add fake data for filtering

* address comments

* add empty state for no new client counts, when filtered by namespace

* fix mirage clients linting

* re-add namespaces to month object

* clean up filtering

* add tests and refactor accordingly

* fix tooltip bug and chart new month client chart not rendering

* filter out undefined

* optional method chaining

* add filter and fix ticks for line chart

* fix axes domains

* fix average calculation
2022-05-09 12:16:32 -07:00
claire bontempo
27c9d15843
fix linting (#15326) 2022-05-09 09:17:54 -07:00
Chris Capurso
4762fb702a
base sys/license/status mock times based on current timestamp (#15286)
* base sys/license/status mock times based on current timestamp

* add missing trailing commas

* license specific test selector

Co-authored-by: Claire Bontempo <cbontempo@hashicorp.com>
2022-05-05 08:20:40 -04:00
Angel Garbarino
b1864b6103
CSV Export include monthly data (#15169)
* setup

* add new clients to attribution

* refactor serializers, move to util folder

* cleanup export csv generator

* fix isDateRange getter

* remove new chart from partial/current month

* fix export modal text

* update version history text

* update variable naming, remove new client data from current/partial month

* add filtering by namespace to month over month charts

* remove filtering for namespace by month, need to change serializer

* add checks

* update horizontal bar chart test

* update tests

* cleanup

* address comments

* fix flakey test

* add new counts to export

Co-authored-by: Claire Bontempo <cbontempo@hashicorp.com>
2022-05-02 18:37:09 -07:00
Angel Garbarino
8843b7d0c7
Client Count banner warnings for upgraded of minor 9 or 10 (#15103)
* handle current warning

* handle history

* match the two flows

* clean up

* Refactor to account for chart indicator (#15121)

* refactor for charts

* revert handler changes

* clarify variable

* add 1.10 to version history

* woops add key

* handle mock query end date

* update current template

* add date

* fix tests

* fix fake version response

* address comments, cleanup

* change word

* add TODO

* revert selector

Co-authored-by: claire bontempo <68122737+hellobontempo@users.noreply.github.com>
Co-authored-by: Claire Bontempo <cbontempo@hashicorp.com>
2022-04-25 11:23:12 -06:00
claire bontempo
e74c1b29b3
UI/Add upgrade indicator client charts (#15083)
* clean up activity serailizer

* fix line chart so only plot months with data

* cleanup monthly serializer

* account for empty months in vertical bar chart

* tidy version upgrade info

* fix version history model typo

* extract const into helper

* add upgrade indicator to line chart

* fix tests

* add todos
2022-04-20 08:35:57 -07:00
claire bontempo
d13ddd9bf2
UI/Add double attribution chart to current (#15035)
* update /monthly endpoint

* change object key names to match API

* update serializers

* add optional no data mesage for horizontal chart

* add split chart option for attribution component

* wire up filtering namespaces and auth methods

* update clients current tests

* update todos and address comments

* fix attribution test
2022-04-15 12:06:10 -07:00
claire bontempo
cd01684514
UI/Clients monthly usage component (#15012)
* clarify timestamp in jsdocs

* make title bottom margin smaller

* add monthly usage component

* fix doubled up css

* clean up average helpers

* copy update

* change arg to component variable

* fix awkward grammar

* clean up mirage handler

* address comments

* remove prop
2022-04-12 17:49:35 -05:00
claire bontempo
17747dcc48
UI/Client count running totals component (#14967)
* wire up running total component

* remove waitUntil

* remove unused functions

* abstract x/y keys

* adjust tick size

* refactor helpers into utils

* cleanup

* cleanup utils files and imports

* update variables to const

* mock empty monthly data
2022-04-12 13:30:40 -05:00
claire bontempo
48b43e9213
UI/Add months to activity serializer (#14942)
* add mock monthly data to mirage handler

* add months to serializer for activity response

* change selectors

Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>

* clean up serializer

* please stop being flakey <3

Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
2022-04-07 14:07:53 -05:00
claire bontempo
bc99b9fd46
UI/d3 DOM cleanup hover issue (#14493)
* fix duplicate rendering of chart elements

* organize SVG char elements into groups, give data-test attrs

* update tests

* tweak mirage

* add fake client counting start date

* fix test

* add waitUntil

* adds changelog

* add second waituntil
2022-03-16 13:36:41 -05:00
Jordan Reimer
7bf07a096c
Client Count Testing (#14288)
* updates clients mirage handler activity endpoint

* fixes issue removing auth method filter after clearing namespace filter
2022-02-25 11:21:15 -07:00
Chelsea Shaw
522d961ef6
UI/client count tests (#14162) 2022-02-24 14:04:40 -06:00
Angel Garbarino
2eb9aa9ffe
prefix mount to path and add mirage handler that matches rfc (#14201) 2022-02-22 14:24:33 -07:00