{lastRefreshed &&
Last Refreshed: {lastRefreshed}}
@@ -1004,7 +998,7 @@ const Teams: React.FC
= ({
- {isAdminRole(userRole || "") && (
+ {isProxyAdminRole(userRole || "") && (
diff --git a/ui/litellm-dashboard/src/utils/roles.test.tsx b/ui/litellm-dashboard/src/utils/roles.test.tsx
new file mode 100644
index 000000000000..871bbaba072a
--- /dev/null
+++ b/ui/litellm-dashboard/src/utils/roles.test.tsx
@@ -0,0 +1,41 @@
+import { describe, it, expect } from "vitest";
+import { isAdminRole, isProxyAdminRole } from "./roles";
+
+describe("roles", () => {
+ describe("isAdminRole", () => {
+ it("should return true for all admin roles", () => {
+ expect(isAdminRole("Admin")).toBe(true);
+ expect(isAdminRole("Admin Viewer")).toBe(true);
+ expect(isAdminRole("proxy_admin")).toBe(true);
+ expect(isAdminRole("proxy_admin_viewer")).toBe(true);
+ expect(isAdminRole("org_admin")).toBe(true);
+ });
+
+ it("should return false for non-admin roles", () => {
+ expect(isAdminRole("Internal User")).toBe(false);
+ expect(isAdminRole("Internal Viewer")).toBe(false);
+ expect(isAdminRole("regular_user")).toBe(false);
+ expect(isAdminRole("")).toBe(false);
+ });
+ });
+
+ describe("isProxyAdminRole", () => {
+ it("should return true for proxy_admin and Admin roles", () => {
+ expect(isProxyAdminRole("proxy_admin")).toBe(true);
+ expect(isProxyAdminRole("Admin")).toBe(true);
+ });
+
+ it("should return false for other admin roles", () => {
+ expect(isProxyAdminRole("Admin Viewer")).toBe(false);
+ expect(isProxyAdminRole("proxy_admin_viewer")).toBe(false);
+ expect(isProxyAdminRole("org_admin")).toBe(false);
+ });
+
+ it("should return false for non-admin roles", () => {
+ expect(isProxyAdminRole("Internal User")).toBe(false);
+ expect(isProxyAdminRole("Internal Viewer")).toBe(false);
+ expect(isProxyAdminRole("regular_user")).toBe(false);
+ expect(isProxyAdminRole("")).toBe(false);
+ });
+ });
+});
diff --git a/ui/litellm-dashboard/src/utils/roles.ts b/ui/litellm-dashboard/src/utils/roles.ts
index f542da105f5a..da9b00082e3a 100644
--- a/ui/litellm-dashboard/src/utils/roles.ts
+++ b/ui/litellm-dashboard/src/utils/roles.ts
@@ -11,3 +11,7 @@ export const rolesWithWriteAccess = ["Internal User", "Admin", "proxy_admin"];
export const isAdminRole = (role: string): boolean => {
return all_admin_roles.includes(role);
};
+
+export const isProxyAdminRole = (role: string): boolean => {
+ return role === "proxy_admin" || role === "Admin";
+};