From d1268599424a97b7df1460f2104954903bee5e98 Mon Sep 17 00:00:00 2001 From: ishaan-j-berri Date: Fri, 13 Nov 2026 09:29:07 +0800 Subject: [PATCH] feat(ui): manage customer organization, team, and member settings (#51507) --- .../customer-hierarchy-settings/before.png | Bin 0 -> 8473 bytes .../delete-confirmation.png | Bin 0 -> 30082 bytes .../member-settings.png | Bin 0 -> 58506 bytes .../customer-hierarchy-settings/teams.png | Bin 0 -> 54842 bytes .../_components/CustomerHierarchyManager.tsx | 289 +++++++++++++ .../CustomerHierarchyNavigation.tsx | 53 +++ .../CustomerHierarchySettings.test.tsx | 202 +++++++++ .../_components/CustomerHierarchySettings.tsx | 394 ++++++++++++++++++ .../_components/customerHierarchyApi.ts | 52 +++ .../customerHierarchyForms.test.ts | 139 ++++++ .../_components/customerHierarchyForms.ts | 155 +++++++ .../customers/_components/customerUsageApi.ts | 51 +-- .../_components/useCustomerHierarchy.test.ts | 32 ++ .../_components/useCustomerHierarchy.ts | 145 +++++++ .../manage/page.integration.test.tsx | 185 ++++++++ .../app/(dashboard)/customers/manage/page.tsx | 3 + .../customers/usage/page.integration.test.tsx | 4 + .../app/(dashboard)/customers/usage/page.tsx | 2 + .../src/i18n/locales/en.json | 74 ++++ 19 files changed, 1740 insertions(+), 40 deletions(-) create mode 100644 .github/pr-assets/customer-hierarchy-settings/before.png create mode 100644 .github/pr-assets/customer-hierarchy-settings/delete-confirmation.png create mode 100644 .github/pr-assets/customer-hierarchy-settings/member-settings.png create mode 100644 .github/pr-assets/customer-hierarchy-settings/teams.png create mode 100644 litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/CustomerHierarchyManager.tsx create mode 100644 litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/CustomerHierarchyNavigation.tsx create mode 100644 litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/CustomerHierarchySettings.test.tsx create mode 100644 litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/CustomerHierarchySettings.tsx create mode 100644 litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/customerHierarchyApi.ts create mode 100644 litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/customerHierarchyForms.test.ts create mode 100644 litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/customerHierarchyForms.ts create mode 100644 litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/useCustomerHierarchy.test.ts create mode 100644 litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/useCustomerHierarchy.ts create mode 100644 litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/manage/page.integration.test.tsx create mode 100644 litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/manage/page.tsx diff --git a/.github/pr-assets/customer-hierarchy-settings/before.png b/.github/pr-assets/customer-hierarchy-settings/before.png new file mode 100644 index 0000000000000000000000000000000000000000..563c231cfbe90d21fac0a1aba2af84e2fa247963 GIT binary patch literal 8473 zcmeI!X;hO}8UWxx3RtSv3>YeF2S!#wLWm*>Fm^y&B}5D%D4Ql_3lIb($d=UUSXqSB zqC$v33rCg&LL*C>M8wv_AO;vfwh*9AG^`-#nS#OQR)=lOE$l48;E#`dY-jJ_Fp^?Ez2n+)i z_@9P)jQ2hfKdG>To7kBrmLwF7%-8b#g7Dq2lNAcL0KVrG7pFW%kazGJ%ImVUpSpjs z_nlv*Xsd@(3RiP&xY)Oswli(koVEj1eXq!`qr2Vz*JZw+-1u$WQl;p6&D^ohK^1ppZU=BqvtLq2FXtzwMAf^v%ut+PGpFkPnvlNaQYdO8 z!cUtrxdD$I{Q;Wk8x;g*-j2PWbc7DJSBAzjoK=kKuW-&Yty2yYb1#}!sKB~A%90uk z2ew6le`tqfs&dBf$=t%*J);ynzx^ke1*}}P!tTk5=@oVHm+jiTN4&db1#w5=XYz$Z zbDfq$#6_VmML`TN!S`Ekg%ZC>3Ebx3h{(HLcngo$VsEv3+8i6nV=oleR9mrCCXrAR zl>lQRK8tz~rgfVevpPFBGTh6}J{q|}x_hG3G@`rCw&cXJWh#bYn|s=7;Aq#JDsFz# zqm#>d{O%|2gG)artd4O~Y;hGTEDVi(YV$4tvRWZ8Ir%)>^?T=Oi$O@bA}OAi8x+(? zZd4YL8rSOiuVJa8Im`a%Qtt`gn>Fgna?ZKI)LGGB(?ZDQUj~pqU0)LIE8?hSh;&hp z7xkOQp!=BCP(9SeXa}Llt_Vw7Rv$FPaJOdt^Utdmbj=m6?eszhC z-ty}6sZ0!KCO-QPLwZ;z&0hUHOGcxjHnX<;UfF#8g<-BupM3kZ-}B0KDOJi`cc;Lq z8+Ud9_L(zjerYYQJ~Dyh6xUPS7MF4(Q4Z$uvPo}p03RmI711hYS@vEtq61&$Sijjn zk#jj|q4V;#XfUZqf)o`UtvDwP~miU^5NLoL&q=6t-wLaDjWiIFR? z-s9(Lj}9_}UN){QuzD+)EE*q#O%B=IRjDrPIx>2Ey9^ti;Ufn_A20UY=hlqIShr>W zFzSjHXQs*+vN)M$W_o<}d++NHl#^zEc-kxKe~P48cjZh^Qqv&V+r98pFN+c_^HjxV+E3dwYVutno z*p-fa#=cRU=%M+J;!&7t+dJjsEK{}Z-c8bJn)ce=7aufipe>Hwf_q7doA&Oroub#x zXI^2yeb|gOt5d!xjeVs#P00({0o>XBXIa0cvAHX(8iGVa!<)Hnmz6!ZbdfQ+*p!Qq zsBmHdHj)2^u>4?wE3;krh@XsOoYQhs#%! zM@bQ9Ao2WaLN8-p#$Z%Awu6wS>X2m=4AoVQ_%Zt;jQm(kId$ca=%xdP`f zU4pMNfp?LTwlafzCqv|k(UTW$6K2L;ic)XlZL6jhZbx8Xqo}8dU{6sOO+zGFt+%r< z{ETKZo3M=?K)M`Le7pEAva1yr&@;E(qup5wc?8O3Xt(D}K%e$_sTML^e$`q}Ky4>5sL;$<26zDw^v) z%P6Qf`3+-^^$IJLEDm5Orq|@WMokitcz0=E=gr3G9{z(@kwe7bQ$#oW7_$_)FeAVd zg8?aQ8!K?WWPJHo95lz5&gBRQ5}#Xq?>sOhX&}XgGo0T}D0HZ@$5BMnGb_}Xn|_Vv zc{ybb-Yk3HIPEHlb!muHNPfT8esWqUYXJ#OY(Dg*X!ayyA5?6Y-5_lvx15Q%VFGly zSuqf~xQ7b?VYK*7TYH>+?sEUV`jC!{&QdOUk=-DlnV^GN!qBAv%n(dc!!4}wc{Gg3 zOOTNhgMOK|IL|mvVty-MfU=h8n2X))GUN{;K~Y%(Kc|C7s9>dIK!3Y8t@Gr$(YDI| zmayTK@;(k(bGRsrlons(#7P@wxRR|xhJ9X&gZrT%-@NPbQ(K371U>wml*k`hLho4L z?}7}n+JzHV$u&n zh@hZ*Ygl&=($w!p%bI_gAJc{;v=$T<70pUn^mL+I_NqWyN2}j#D2$r{L99=rXQu{+ zj-RS+ni^4!-Ewt7am&2cJmlsn7;7iRV~39X>bDF#5o8s|9#rP|8QvG8`0?CQf+EVA z9-8cz_?(T(6cMEBtSTo4UP8!M*anB2U6I9`5bP<2mVR3OQj1Ak`XHrWp1eX2jnQENl+;yvW5oXY$Hrc;0TORKBeG zxK@^w9CtMA&nquH$2LOQH#D1J^!xr2*{e z+Ui0Zy7V@&YL59(x=zcli`zz|3z{v$DayTp&5cb9;P$Z*Pgjpl=;GK&G6uJpn(f4$ z#-xT^<14CsWQZ+X8}ZwOYw)Ky0w+~nZ*y`G545j{uYJs0?^5J1$r3g%<|!Nm@3dc$ z@2yn3TuIC!D%vyk`zjkp=g~JplfkV=LGJTvJ1=@w76hzGAzjykl45d^0Z4yNE>t zr)xoz*3}P0LS=tuW`BvE`G2)V{CX&(5`9)A77f9UNa2S%wvN!Rt<7_gTCZ{?%NFNc z;#@AvTB~Lt4Ew4p%jy&o@zBE*SY9g_8@4*67gY1%j^E_yV>>XTls zqA2UoL99P&v?H#B5`7h*|4ByW`K$4R4(EF-o!zq8Hx`Cx11PK6xf-?h4HW=5^yXi> zl^-{k{Fcz0wCT$3t)8y0Fa1{u{%vq;ffxmmeMX}xa$h|8x4U!;Isu)4PCzH16VM6h O1at!bCjpzC@xK7`fiLC& literal 0 HcmV?d00001 diff --git a/.github/pr-assets/customer-hierarchy-settings/delete-confirmation.png b/.github/pr-assets/customer-hierarchy-settings/delete-confirmation.png new file mode 100644 index 0000000000000000000000000000000000000000..180e474ad62edd5a8d48dc28b299057ddb313364 GIT binary patch literal 30082 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 N?&ZH-vU#oZKLBuF$y)#b literal 0 HcmV?d00001 diff --git a/.github/pr-assets/customer-hierarchy-settings/member-settings.png b/.github/pr-assets/customer-hierarchy-settings/member-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..fa69f2eca7e2d1ca72a0084354b1c337d40f097a GIT binary patch literal 58506 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 Q^nX; +interface ScopeProps { + hierarchy: Hierarchy; + selected: CustomerHierarchyContext; + scope: CustomerHierarchyScope; +} + +function HierarchyHeader({ hierarchy, selected }: Pick) { + const { t } = useTranslation(); + const entity = selected.entity; + const team = selected.team; + const label = customerEntityLabel(entity); + const kindLabel = { + organization: t("customerPortal.hierarchy.organization"), + team: t("customerPortal.hierarchy.team"), + member: t("customerPortal.hierarchy.member"), + }[entity.kind]; + return ( +
+ +

{kindLabel}

+

{label}

+

{t("customerPortal.hierarchy.subtitle")}

+

{customerEntityId(entity)}

+
+ ); +} + +function hierarchyRows({ hierarchy, selected, scope }: ScopeProps) { + const list = hierarchy.children.data; + if (list?.kind === "teams") + return list.data.map((team) => ({ + id: team.customer_team_id, + label: team.alias || team.customer_team_id, + spend: team.spend, + budget: team.budget?.max_budget, + open: () => hierarchy.openTeam(team.customer_team_id), + edit: () => hierarchy.openTeam(team.customer_team_id, true), + usageScope: { org: scope.org, team: team.customer_team_id, member: null }, + })); + if (list?.kind === "members") + return list.data.map((member) => ({ + id: member.customer_member_id, + label: member.alias || member.customer_member_id, + spend: member.spend, + budget: member.effective_budget.max_budget, + open: () => hierarchy.openMember(member.customer_member_id), + edit: () => hierarchy.openMember(member.customer_member_id), + usageScope: { org: scope.org, team: selected.team?.customer_team_id ?? null, member: member.customer_member_id }, + })); + return []; +} + +function HierarchyChildTable(props: ScopeProps) { + const { t } = useTranslation(); + const { hierarchy } = props; + const { children, childTab, page } = hierarchy; + const childLabel = childTab === "teams" ? t("customerPortal.hierarchy.teams") : t("customerPortal.hierarchy.members"); + if (children.isError) + return ( + void children.refetch()} + /> + ); + if (children.isPending) + return ( +

+ {t("customerPortal.hierarchy.loading")} +

+ ); + const rows = hierarchyRows(props); + const pages = Math.max(1, children.data.meta.total_pages); + return ( + <> + {" "} +
+

{childLabel}

+

+ {t(childTab === "teams" ? "customerPortal.hierarchy.teamsHint" : "customerPortal.hierarchy.membersHint")} +

+
+ + + + {t("customerPortal.hierarchy.name")} + {t("customerPortal.hierarchy.spend")} + {t("customerPortal.hierarchy.budget")} + + {t("customerPortal.hierarchy.settings")} + + + + + {rows.map((row) => ( + + + + {row.id} + + {formatUsd(row.spend)} + + {row.budget == null ? t("customerPortal.hierarchy.noBudget") : formatUsd(row.budget)} + + +
+ + {t("customerPortal.hierarchy.viewUsage")} + + +
+
+
+ ))} + {rows.length === 0 && ( + + + {t( + childTab === "teams" + ? "customerPortal.hierarchy.emptyTeams" + : "customerPortal.hierarchy.emptyMembers", + )} + + + )} +
+
+ {pages > 1 && ( +
+ {t("customerPortal.hierarchy.pagination", { page, pages })} +
+ + +
+
+ )} + + ); +} + +export default function CustomerHierarchyManager() { + const { t } = useTranslation(); + const router = useRouter(); + const hierarchy = useCustomerHierarchy(); + const { scope, context, selected, tab } = hierarchy; + + if (hierarchy.isLoading) + return ( +

+ {t("customerPortal.hierarchy.loading")} +

+ ); + if (!hierarchy.canManage) return ; + if (!scope) + return ( +
+

{t("customerPortal.hierarchy.title")}

+

{t("customerPortal.hierarchy.missingOrganization")}

+ + {t("customerPortal.hierarchy.backToCustomers")} + +
+ ); + if (context.isError) + return ( + void context.refetch()} + /> + ); + if (!selected) + return ( +

+ {t("customerPortal.hierarchy.loading")} +

+ ); + + const entity = selected.entity; + const currentScope = { + org: scope.org, + team: selected.team?.customer_team_id ?? null, + member: selected.member?.customer_member_id ?? null, + }; + const onDeleted = () => { + hierarchy.refresh(); + if (selected.member && selected.team) hierarchy.openTeam(selected.team.customer_team_id); + else if (selected.team) hierarchy.openOrganization(); + else router.push(uiHref("customers")); + }; + + return ( +
+ + +
+ {tab === "settings" ? ( + + ) : ( + + )} +
+
+ ); +} diff --git a/litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/CustomerHierarchyNavigation.tsx b/litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/CustomerHierarchyNavigation.tsx new file mode 100644 index 00000000000..d92bdb2b328 --- /dev/null +++ b/litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/CustomerHierarchyNavigation.tsx @@ -0,0 +1,53 @@ +import { useTranslation } from "react-i18next"; +import { cn } from "@/lib/cva.config"; +import { uiHref } from "@/utils/uiHref"; +import type { CustomerUsageScope } from "./customerUsageApi"; + +type CustomerHierarchyView = "usage" | "teams" | "members" | "settings"; +const LABELS = { + usage: "customerPortal.hierarchy.usage", + teams: "customerPortal.hierarchy.teams", + members: "customerPortal.hierarchy.members", + settings: "customerPortal.hierarchy.settings", +} as const; + +export function customerHierarchyHref(page: "usage" | "manage", scope: CustomerUsageScope): string { + const query = new URLSearchParams({ org: scope.org }); + if (scope.team) query.set("team", scope.team); + if (scope.member) query.set("member", scope.member); + return `${uiHref(`customers/${page}`)}?${query}`; +} + +export default function CustomerHierarchyNavigation({ + scope, + active, +}: { + scope: CustomerUsageScope; + active: CustomerHierarchyView; +}) { + const { t } = useTranslation(); + const pages: readonly CustomerHierarchyView[] = scope.member + ? ["usage", "settings"] + : ["usage", scope.team ? "members" : "teams", "settings"]; + return ( + + ); +} diff --git a/litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/CustomerHierarchySettings.test.tsx b/litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/CustomerHierarchySettings.test.tsx new file mode 100644 index 00000000000..16b7cf1760c --- /dev/null +++ b/litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/CustomerHierarchySettings.test.tsx @@ -0,0 +1,202 @@ +import userEvent from "@testing-library/user-event"; +import { afterEach, beforeEach, describe, expect, it, vi } from "vitest"; +import { registerBaseUrlGetter } from "@/lib/http/runtime"; +import { act, chooseSelectOption, fireEvent, render, screen, waitFor, within } from "../../../../../tests/test-utils"; +import CustomerHierarchySettings from "./CustomerHierarchySettings"; +import type { Organization, Member } from "./customerHierarchyForms"; + +const audit = { + created_at: "2026-11-01T00:00:00Z", + updated_at: "2026-11-01T00:00:00Z", + created_by: "admin", + updated_by: "admin", + spend: 5, +}; +const organization: Organization = { + ...audit, + customer_org_id: "org-1", + alias: "Example organization", + default_budget_id: "template-1", + default_budgets: [ + { budget_id: "template-1", name: "Standard", is_default: true, max_budget: 10 }, + { budget_id: "template-2", name: "Pro", is_default: false, max_budget: 50 }, + ], + budget: { + max_budget: 100, + soft_budget: 80, + budget_duration: "1mo", + tpm_limit: 200, + rpm_limit: 10, + allowed_models: ["openai/gpt-4.1"], + }, +}; +const member: Member = { + ...audit, + customer_member_id: "member-1", + parent_team_id: "team-1", + alias: "Member One", + budget_template_id: "template-1", + budget_override: { max_budget: 20 }, + effective_budget: { max_budget: 20 }, + budget_override_expires_at: "2026-12-01T12:00:00Z", +}; +const fetchMock = vi.fn(); +const onSaved = vi.fn(); +const onDeleted = vi.fn(); +const json = (body: unknown, status = 200) => + new Response(JSON.stringify(body), { status, headers: { "Content-Type": "application/json" } }); + +const lastRequest = (): Request => { + const request = fetchMock.mock.calls.at(-1)?.[0]; + if (!(request instanceof Request)) throw new Error("Expected a request through the shared HTTP client"); + return request; +}; + +describe("CustomerHierarchySettings", () => { + beforeEach(() => { + registerBaseUrlGetter(() => "http://localhost"); + fetchMock.mockReset(); + onSaved.mockReset(); + onDeleted.mockReset(); + vi.stubGlobal("fetch", fetchMock); + }); + afterEach(() => vi.unstubAllGlobals()); + + it("should render the existing organization settings and read-only identifier", () => { + render( + , + ); + expect(screen.getByRole("textbox", { name: "Display name" })).toHaveValue("Example organization"); + expect(screen.getByRole("textbox", { name: "Identifier" })).toHaveAttribute("readonly"); + expect(screen.getByRole("spinbutton", { name: "Spend limit (USD)" })).toHaveValue(100); + expect(screen.getByRole("button", { name: "Save changes" })).toBeDisabled(); + }); + + it("should preserve other limits when saving a zero organization spend limit", async () => { + const user = userEvent.setup(); + fetchMock.mockResolvedValue(json(organization)); + render( + , + ); + act(() => + fireEvent.change(screen.getByRole("spinbutton", { name: "Spend limit (USD)" }), { target: { value: "0" } }), + ); + await user.click(screen.getByRole("button", { name: "Save changes" })); + await waitFor(() => expect(onSaved).toHaveBeenCalledOnce()); + expect(lastRequest().method).toBe("PATCH"); + expect(new URL(lastRequest().url).pathname).toBe("/management/v1/customer_organizations/org-1"); + expect(await lastRequest().clone().json()).toEqual({ budget: { ...organization.budget, max_budget: 0 } }); + }); + + it("should show friendly template names while sending the selected template identifier", async () => { + const user = userEvent.setup(); + fetchMock.mockResolvedValue(json(member)); + render( + , + ); + const template = screen.getByRole("combobox", { name: "Budget template" }); + expect(template).toHaveTextContent("Standard (default)"); + expect(template).not.toHaveTextContent("template-1"); + await chooseSelectOption(user, template, "Pro"); + expect(template).toHaveTextContent("Pro"); + await user.click(screen.getByRole("button", { name: "Save changes" })); + await waitFor(() => expect(onSaved).toHaveBeenCalledOnce()); + expect(await lastRequest().clone().json()).toEqual({ budget_template_id: "template-2" }); + }); + + it("should identify an unavailable stored template instead of displaying No template", () => { + render( + , + ); + expect(screen.getByRole("combobox", { name: "Budget template" })).toHaveTextContent( + "Unavailable template (retired-template)", + ); + }); + + it("should clear the member override and its expiry without changing the template", async () => { + const user = userEvent.setup(); + fetchMock.mockResolvedValue(json(member)); + render( + , + ); + await user.click(screen.getByRole("checkbox", { name: "Override the template budget" })); + await user.click(screen.getByRole("button", { name: "Save changes" })); + await waitFor(() => expect(onSaved).toHaveBeenCalledOnce()); + expect(new URL(lastRequest().url).pathname).toBe("/management/v1/customer_members/member-1"); + expect(await lastRequest().clone().json()).toEqual({ budget_override: null, budget_override_expires_at: null }); + }); + + it("should keep edited values and show the API error when a save fails", async () => { + const user = userEvent.setup(); + fetchMock.mockResolvedValue(json({ detail: "Database not connected." }, 503)); + render( + , + ); + const alias = screen.getByRole("textbox", { name: "Display name" }); + await user.clear(alias); + await user.type(alias, "Updated organization"); + await user.click(screen.getByRole("button", { name: "Save changes" })); + expect(await screen.findByRole("alert")).toHaveTextContent("Database not connected."); + expect(alias).toHaveValue("Updated organization"); + expect(onSaved).not.toHaveBeenCalled(); + }); + + it("should require confirmation and retain the delete dialog when a parent has children", async () => { + const user = userEvent.setup(); + fetchMock.mockResolvedValueOnce( + json({ detail: "Delete the customer's children before deleting the parent." }, 409), + ); + render( + , + ); + await user.click(screen.getByRole("button", { name: "Delete Organization" })); + const dialog = await screen.findByRole("dialog", { name: "Delete Example organization?" }); + expect(fetchMock).not.toHaveBeenCalled(); + await user.click(within(dialog).getByRole("button", { name: "Delete Organization" })); + expect(await within(dialog).findByRole("alert")).toHaveTextContent( + "Delete the customer's children before deleting the parent.", + ); + expect(dialog).toBeInTheDocument(); + expect(onDeleted).not.toHaveBeenCalled(); + expect(lastRequest().method).toBe("DELETE"); + expect(new URL(lastRequest().url).pathname).toBe("/management/v1/customer_organizations/org-1"); + fetchMock.mockResolvedValueOnce(new Response(null, { status: 204 })); + await user.click(within(dialog).getByRole("button", { name: "Delete Organization" })); + await waitFor(() => expect(onDeleted).toHaveBeenCalledOnce()); + }); +}); diff --git a/litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/CustomerHierarchySettings.tsx b/litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/CustomerHierarchySettings.tsx new file mode 100644 index 00000000000..9a95aeeaf79 --- /dev/null +++ b/litellm/ui/litellm-dashboard/src/app/(dashboard)/customers/_components/CustomerHierarchySettings.tsx @@ -0,0 +1,394 @@ +"use client"; + +import { useState, type FormEvent } from "react"; +import { useTranslation } from "react-i18next"; +import { toast } from "sonner"; +import { Trash2 } from "lucide-react"; +import { fetchClient } from "@/lib/http/api"; +import { extractProxyErrorMessage } from "@/lib/http/client"; +import { Button } from "@/components/ui/button"; +import { Checkbox } from "@/components/ui/checkbox"; +import { Input } from "@/components/ui/input"; +import { Label } from "@/components/ui/label"; +import { Textarea } from "@/components/ui/textarea"; +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; +import { + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, +} from "@/components/ui/dialog"; +import { + buildCustomerHierarchyPatch, + customerEntityId, + customerEntityLabel, + customerHierarchyFields, + type CustomerHierarchyEntity, + type CustomerHierarchyFields, + type CustomerHierarchyPatch, + type Organization, +} from "./customerHierarchyForms"; + +interface Props { + entity: CustomerHierarchyEntity; + organization: Organization; + onSaved: () => void; + onDeleted: () => void; +} + +const saveEntity = async (id: string, patch: CustomerHierarchyPatch): Promise => { + switch (patch.kind) { + case "organization": + await fetchClient.PATCH("/management/v1/customer_organizations/{customer_org_id}", { + params: { path: { customer_org_id: id } }, + body: patch.body, + }); + return; + case "team": + await fetchClient.PATCH("/management/v1/customer_teams/{customer_team_id}", { + params: { path: { customer_team_id: id } }, + body: patch.body, + }); + return; + case "member": + await fetchClient.PATCH("/management/v1/customer_members/{customer_member_id}", { + params: { path: { customer_member_id: id } }, + body: patch.body, + }); + } +}; + +const deleteEntity = async (entity: CustomerHierarchyEntity): Promise => { + const id = customerEntityId(entity); + switch (entity.kind) { + case "organization": + await fetchClient.DELETE("/management/v1/customer_organizations/{customer_org_id}", { + params: { path: { customer_org_id: id } }, + }); + return; + case "team": + await fetchClient.DELETE("/management/v1/customer_teams/{customer_team_id}", { + params: { path: { customer_team_id: id } }, + }); + return; + case "member": + await fetchClient.DELETE("/management/v1/customer_members/{customer_member_id}", { + params: { path: { customer_member_id: id } }, + }); + } +}; + +const KIND_LABELS = { + organization: "customerPortal.hierarchy.organization", + team: "customerPortal.hierarchy.team", + member: "customerPortal.hierarchy.member", +} as const; + +const ERROR_LABELS = { + invalidNumber: "customerPortal.hierarchy.invalidNumber", + invalidExpiry: "customerPortal.hierarchy.invalidExpiry", + budgetRequired: "customerPortal.hierarchy.budgetRequired", +} as const; + +function SettingsForm({ entity, organization, onSaved, onDeleted }: Props) { + const { t } = useTranslation(); + const initial = customerHierarchyFields(entity); + const [fields, setFields] = useState(initial); + const [pending, setPending] = useState<"save" | "delete" | null>(null); + const [error, setError] = useState(null); + const [deleteOpen, setDeleteOpen] = useState(false); + const [deleteError, setDeleteError] = useState(null); + const dirty = JSON.stringify(fields) !== JSON.stringify(initial); + const id = customerEntityId(entity); + const kind = t(KIND_LABELS[entity.kind]); + const update = (key: K, value: CustomerHierarchyFields[K]) => + setFields((current) => ({ ...current, [key]: value })); + const templateLabel = (templateId: string): string => { + if (!templateId) return t("customerPortal.hierarchy.noTemplate"); + const template = organization.default_budgets.find((budget) => budget.budget_id === templateId); + if (!template) return t("customerPortal.hierarchy.unknownTemplate", { id: templateId }); + if (templateId === organization.default_budget_id) + return t("customerPortal.hierarchy.defaultTemplate", { name: template.name }); + return template.name; + }; + + const save = async (event: FormEvent) => { + event.preventDefault(); + const result = buildCustomerHierarchyPatch(entity, fields); + if (!result.ok) { + setError(t(ERROR_LABELS[result.error])); + return; + } + setPending("save"); + setError(null); + try { + await saveEntity(id, result.patch); + toast.success(t("customerPortal.hierarchy.saved")); + onSaved(); + } catch (cause) { + setError(extractProxyErrorMessage(cause)); + } finally { + setPending(null); + } + }; + + const remove = async () => { + setPending("delete"); + setDeleteError(null); + try { + await deleteEntity(entity); + setDeleteOpen(false); + onDeleted(); + } catch (cause) { + setDeleteError(extractProxyErrorMessage(cause)); + } finally { + setPending(null); + } + }; + + const numericFields = [ + ["maxBudget", "customerPortal.hierarchy.maxBudget", "any"], + ["softBudget", "customerPortal.hierarchy.softBudget", "any"], + ["tpm", "customerPortal.hierarchy.tpm", "1"], + ["rpm", "customerPortal.hierarchy.rpm", "1"], + ] as const; + + return ( +
+
void save(event)} className="space-y-7"> +
+
+
+

+ {t("customerPortal.hierarchy.profileTitle")} +

+

{t("customerPortal.hierarchy.profileHint")}

+
+
+
+ + update("alias", event.target.value)} + /> +
+
+ + +
+
+
+ +
+
+

+ {t("customerPortal.hierarchy.budgetTitle")} +

+

{t("customerPortal.hierarchy.budgetHint")}

+
+ {entity.kind === "member" && ( +
+ + +
+ )} +
+
+ update("budgetEnabled", checked)} + /> + +
+ {entity.kind === "member" && ( +

{t("customerPortal.hierarchy.overrideHint")}

+ )} +
+ {fields.budgetEnabled && ( +
+
+ {numericFields.map(([name, label, step]) => ( +
+ + update(name, event.target.value)} + /> +
+ ))} +
+ + update("budgetDuration", event.target.value)} + aria-describedby="hierarchy-duration-hint" + /> +

+ {t("customerPortal.hierarchy.budgetDurationHint")} +

+
+ {entity.kind === "member" && ( +
+ + update("overrideExpiry", event.target.value)} + aria-describedby="hierarchy-expiry-hint" + /> +

+ {t("customerPortal.hierarchy.overrideExpiryHint")} +

+
+ )} +
+
+ +