mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-08 03:08:45 +00:00
Cut the default "Virtual Keys" landing (?page=api-keys) over to a path route at (dashboard)/api-keys. The dashboard is extracted into a shared ApiKeysDashboard component used by both the new route and the index's inline render, so there's no duplication. Adding the MIGRATED_PAGES entry repoints the sidebar item and redirects ?page=api-keys to /ui/api-keys. The index is the post-login landing and still hosts the legacy switch for the not-yet-migrated pages (models, pass-through, usage) plus the invitation flow, so it stays. The auto-redirect now fires only for an explicit ?page= param, leaving the bare /ui/ landing to render inline; this keeps the return-URL handling and the invitation_id flow (both of which run at the bare landing) intact, where a blanket redirect would have dropped them. The new route uses useAuthorized for the login gate, matching every other migrated route.
50 lines
1.7 KiB
TypeScript
50 lines
1.7 KiB
TypeScript
/**
|
|
* Source of truth for the App Router migration E2E suites.
|
|
*
|
|
* Add an entry (legacy sidebar page id -> route segment) once a page's migration
|
|
* has MERGED to the branch under test. Consumers pick it up automatically:
|
|
* - migration smoke (tests/migration/migratedPages.spec.ts), via MIGRATED_E2E_SEGMENTS:
|
|
* default mount: npm run e2e:migration
|
|
* server-root-path mount: SERVER_ROOT_PATH=/<root> npm run e2e:migration:root
|
|
* - navigation specs that assert per-page URLs (tests/navigation/sidebar.spec.ts)
|
|
*
|
|
* Keep this in lockstep with MIGRATED_PAGES in src/utils/migratedPages.ts.
|
|
*/
|
|
export const MIGRATED_E2E_PAGES: Record<string, string> = {
|
|
"api-keys": "api-keys",
|
|
models: "models-and-endpoints",
|
|
api_ref: "api-reference",
|
|
"llm-playground": "playground",
|
|
projects: "projects",
|
|
"access-groups": "access-groups",
|
|
budgets: "budgets",
|
|
workflows: "workflows",
|
|
"guardrails-monitor": "guardrails-monitor",
|
|
"mcp-servers": "mcp-servers",
|
|
"search-tools": "search-tools",
|
|
"tag-management": "tag-management",
|
|
"vector-stores": "vector-stores",
|
|
memory: "memory",
|
|
policies: "policies",
|
|
guardrails: "guardrails",
|
|
prompts: "prompts",
|
|
"tool-policies": "tool-policies",
|
|
skills: "skills",
|
|
caching: "caching",
|
|
"cost-tracking": "cost-tracking",
|
|
"transform-request": "transform-request",
|
|
"ui-theme": "ui-theme",
|
|
logs: "logs",
|
|
"admin-panel": "admin-panel",
|
|
"logging-and-alerts": "logging-and-alerts",
|
|
"model-hub-table": "model-hub-table",
|
|
new_usage: "usage",
|
|
usage: "old-usage",
|
|
agents: "agents",
|
|
"router-settings": "router-settings",
|
|
users: "users",
|
|
teams: "teams",
|
|
organizations: "organizations",
|
|
};
|
|
|
|
export const MIGRATED_E2E_SEGMENTS: string[] = [...new Set(Object.values(MIGRATED_E2E_PAGES))];
|