Repository navigation
feat(metrics): add time ranges to dashboard metrics and security anomalies - #91
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs fells-code/seamless-auth-api#132.
The two internal endpoints that fed the operator screens without a range get one, so the dashboard can offer a single range control (fells-code/seamless-auth-admin-dashboard#148).
DashboardMetricsQuerySchema(from,to) andSecurityAnomaliesQuerySchema(from,to,limit1 to 200 defaulting to 200,offsetdefaulting to 0). The range validation (valid dates,from <= to, at most about a year) is factored out ofMetricsQuerySchema, so all three agree.newUsers,loginSuccess,loginFailed,successRate,otpUsage,passkeyUsage, pluswindow. They cover the requested window. The*24hfields keep meaning the last 24 hours, so no existing field changes meaning; that was the agreed answer to the naming question in #132.window,limit,offset.totalis documented as every match in the window. Before this, servers reported the capped returned count there.Everything new in the responses is optional, so older servers still parse. Minor bump.
Checks: lint, typecheck, format, build, tests (286 passed), including the new parsing tests for both queries and backward-compatible responses.