fix(frontend): restrict management controls to admins

This commit is contained in:
Codex
2026-08-26 20:40:15 +02:00
parent 9189450fa9
commit 705af3aeb2
2 changed files with 31 additions and 24 deletions
+23 -18
View File
@@ -105,6 +105,7 @@ export function AppShell({ canLogout }: AppShellProps) {
const canManageWorkspace = permissions.includes("workspace.manage");
const canManageWorkspaceSecrets = permissions.includes("workspace.secrets.manage");
const canManagePi = permissions.includes("pi.manage");
const isAdmin = authenticatedUser?.isAdmin === true;
const authGeneration = useAuthGeneration();
const { data: sessions = [] } = useQuery<SessionSummary[]>({
queryKey: ["sessions", sessionScope],
@@ -737,24 +738,28 @@ export function AppShell({ canLogout }: AppShellProps) {
>
New session
</Button>
<Button
variant="outline"
size="sm"
className="w-full"
onClick={() => setWorkspaceManagerOpen(true)}
>
Workspace management
</Button>
<Button
variant="outline"
size="sm"
className="w-full"
aria-current={activeSurface === "database-management" ? "page" : undefined}
onClick={() => setActiveSurface("database-management")}
>
Database management
</Button>
{canManagePi && (
{isAdmin && (
<>
<Button
variant="outline"
size="sm"
className="w-full"
onClick={() => setWorkspaceManagerOpen(true)}
>
Workspace management
</Button>
<Button
variant="outline"
size="sm"
className="w-full"
aria-current={activeSurface === "database-management" ? "page" : undefined}
onClick={() => setActiveSurface("database-management")}
>
Database management
</Button>
</>
)}
{isAdmin && canManagePi && (
<Button
variant="outline"
size="sm"