forked from phoenix/litellm-mirror
[ Proxy - User Management]: If user assigned to a team don't show Default Team (#5791)
* rename endpoint to ui_settings * ui allow DEFAULT_TEAM_DISABLED * fix logic * docs Set `default_team_disabled: true` on your litellm config.yaml
This commit is contained in:
parent
91e58d9049
commit
e6018a464f
8 changed files with 56 additions and 12 deletions
|
@ -1,10 +1,12 @@
|
|||
import React, { useState, useEffect } from "react";
|
||||
import { Select, SelectItem, Text, Title } from "@tremor/react";
|
||||
import { ProxySettings } from "./user_dashboard";
|
||||
|
||||
interface DashboardTeamProps {
|
||||
teams: Object[] | null;
|
||||
setSelectedTeam: React.Dispatch<React.SetStateAction<any | null>>;
|
||||
userRole: string | null;
|
||||
proxySettings: ProxySettings | null;
|
||||
}
|
||||
|
||||
type TeamInterface = {
|
||||
|
@ -17,6 +19,7 @@ const DashboardTeam: React.FC<DashboardTeamProps> = ({
|
|||
teams,
|
||||
setSelectedTeam,
|
||||
userRole,
|
||||
proxySettings,
|
||||
}) => {
|
||||
const defaultTeam: TeamInterface = {
|
||||
models: [],
|
||||
|
@ -31,6 +34,8 @@ const DashboardTeam: React.FC<DashboardTeamProps> = ({
|
|||
if (userRole === "App User") {
|
||||
// Non-Admin SSO users should only see their own team - they should not see "Default Team"
|
||||
updatedTeams = teams;
|
||||
} else if (proxySettings && proxySettings.DEFAULT_TEAM_DISABLED === true) {
|
||||
updatedTeams = teams ? [...teams] : [defaultTeam];
|
||||
} else {
|
||||
updatedTeams = teams ? [...teams, defaultTeam] : [defaultTeam];
|
||||
}
|
||||
|
|
|
@ -2752,8 +2752,8 @@ export const getProxyBaseUrlAndLogoutUrl = async (
|
|||
*/
|
||||
try {
|
||||
let url = proxyBaseUrl
|
||||
? `${proxyBaseUrl}/sso/get/logout_url`
|
||||
: `/sso/get/logout_url`;
|
||||
? `${proxyBaseUrl}/sso/get/ui_settings`
|
||||
: `sso/get/ui_settings`;
|
||||
|
||||
//message.info("Requesting model data");
|
||||
const response = await fetch(url, {
|
||||
|
|
|
@ -28,6 +28,12 @@ type UserSpendData = {
|
|||
max_budget?: number | null;
|
||||
};
|
||||
|
||||
export interface ProxySettings {
|
||||
PROXY_BASE_URL: string | null;
|
||||
PROXY_LOGOUT_URL: string | null;
|
||||
DEFAULT_TEAM_DISABLED: boolean;
|
||||
}
|
||||
|
||||
function getCookie(name: string) {
|
||||
console.log("COOKIES", document.cookie)
|
||||
const cookieValue = document.cookie
|
||||
|
@ -46,8 +52,6 @@ interface UserDashboardProps {
|
|||
setUserEmail: React.Dispatch<React.SetStateAction<string | null>>;
|
||||
setTeams: React.Dispatch<React.SetStateAction<Object[] | null>>;
|
||||
setKeys: React.Dispatch<React.SetStateAction<Object[] | null>>;
|
||||
setProxySettings: React.Dispatch<React.SetStateAction<any>>;
|
||||
proxySettings: any;
|
||||
premiumUser: boolean;
|
||||
}
|
||||
|
||||
|
@ -67,8 +71,6 @@ const UserDashboard: React.FC<UserDashboardProps> = ({
|
|||
setUserEmail,
|
||||
setTeams,
|
||||
setKeys,
|
||||
setProxySettings,
|
||||
proxySettings,
|
||||
premiumUser,
|
||||
}) => {
|
||||
const [userSpendData, setUserSpendData] = useState<UserSpendData | null>(
|
||||
|
@ -87,6 +89,7 @@ const UserDashboard: React.FC<UserDashboardProps> = ({
|
|||
const [accessToken, setAccessToken] = useState<string | null>(null);
|
||||
const [teamSpend, setTeamSpend] = useState<number | null>(null);
|
||||
const [userModels, setUserModels] = useState<string[]>([]);
|
||||
const [proxySettings, setProxySettings] = useState<ProxySettings | null>(null);
|
||||
const defaultTeam: TeamInterface = {
|
||||
models: [],
|
||||
team_alias: "Default Team",
|
||||
|
@ -166,7 +169,7 @@ const UserDashboard: React.FC<UserDashboardProps> = ({
|
|||
} else {
|
||||
const fetchData = async () => {
|
||||
try {
|
||||
const proxy_settings = await getProxyBaseUrlAndLogoutUrl(accessToken);
|
||||
const proxy_settings: ProxySettings = await getProxyBaseUrlAndLogoutUrl(accessToken);
|
||||
setProxySettings(proxy_settings);
|
||||
|
||||
const response = await userInfoCall(
|
||||
|
@ -347,6 +350,7 @@ const UserDashboard: React.FC<UserDashboardProps> = ({
|
|||
teams={teams}
|
||||
setSelectedTeam={setSelectedTeam}
|
||||
userRole={userRole}
|
||||
proxySettings={proxySettings}
|
||||
/>
|
||||
</Col>
|
||||
</Grid>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue