feat: Admin V2 API keys (#6883)

Add API key management UI for V2

This PR only adds publishable API key UI. Secret API key management will come in a follow-up PR.
This commit is contained in:
Oli Juhl
2024-04-05 09:55:59 +00:00
committed by GitHub
parent e915169e11
commit eadc5e8a79
36 changed files with 265 additions and 179 deletions
@@ -768,58 +768,6 @@ export const v1Routes: RouteObject[] = [
},
],
},
{
path: "api-key-management",
element: <Outlet />,
handle: {
crumb: () => "API Key Management",
},
children: [
{
path: "",
lazy: () =>
import(
"../../routes/api-key-management/api-key-management-list"
),
children: [
{
path: "create",
lazy: () =>
import(
"../../routes/api-key-management/api-key-management-create"
),
},
],
},
{
path: ":id",
lazy: () =>
import(
"../../routes/api-key-management/api-key-management-detail"
),
handle: {
crumb: (data: AdminPublishableApiKeysRes) =>
data.publishable_api_key.title,
},
children: [
{
path: "edit",
lazy: () =>
import(
"../../routes/api-key-management/api-key-management-edit"
),
},
{
path: "add-sales-channels",
lazy: () =>
import(
"../../routes/api-key-management/api-key-management-add-sales-channels"
),
},
],
},
],
},
...settingsExtensions,
],
},
@@ -8,6 +8,7 @@ import { Outlet } from "react-router-dom"
import { SearchProvider } from "../search-provider"
import { SettingsLayout } from "../../components/layout/settings-layout"
import { SidebarProvider } from "../sidebar-provider"
import { ApiKeyDTO } from "@medusajs/types"
import { Spinner } from "@medusajs/icons"
import { useV2Session } from "../../lib/api-v2"
@@ -332,6 +333,57 @@ export const v2Routes: RouteObject[] = [
},
],
},
{
path: "api-key-management",
element: <Outlet />,
handle: {
crumb: () => "API Key Management",
},
children: [
{
path: "",
lazy: () =>
import(
"../../v2-routes/api-key-management/api-key-management-list"
),
children: [
{
path: "create",
lazy: () =>
import(
"../../v2-routes/api-key-management/api-key-management-create"
),
},
],
},
{
path: ":id",
lazy: () =>
import(
"../../v2-routes/api-key-management/api-key-management-detail"
),
handle: {
crumb: (data: { api_key: ApiKeyDTO }) => data.api_key.title,
},
children: [
{
path: "edit",
lazy: () =>
import(
"../../v2-routes/api-key-management/api-key-management-edit"
),
},
{
path: "add-sales-channels",
lazy: () =>
import(
"../../v2-routes/api-key-management/api-key-management-add-sales-channels"
),
},
],
},
],
},
],
},
],