forked from phoenix/litellm-mirror
feat: set max_internal_budget for user w/ sso
This commit is contained in:
parent
5d664c0441
commit
ac601a69fc
4 changed files with 40 additions and 28 deletions
|
@ -315,6 +315,7 @@ const UserDashboard: React.FC<UserDashboardProps> = ({
|
|||
<ViewUserSpend
|
||||
userID={userID}
|
||||
userRole={userRole}
|
||||
userMaxBudget={userSpendData?.max_budget || null}
|
||||
accessToken={accessToken}
|
||||
userSpend={teamSpend}
|
||||
selectedTeam={selectedTeam ? selectedTeam : null}
|
||||
|
|
|
@ -40,12 +40,23 @@ interface ViewUserSpendProps {
|
|||
userRole: string | null;
|
||||
accessToken: string | null;
|
||||
userSpend: number | null;
|
||||
userMaxBudget: number | null;
|
||||
selectedTeam: any | null;
|
||||
}
|
||||
const ViewUserSpend: React.FC<ViewUserSpendProps> = ({ userID, userRole, accessToken, userSpend, selectedTeam }) => {
|
||||
const ViewUserSpend: React.FC<ViewUserSpendProps> = ({ userID, userRole, accessToken, userSpend, userMaxBudget, selectedTeam }) => {
|
||||
console.log(`userSpend: ${userSpend}`)
|
||||
let [spend, setSpend] = useState(userSpend !== null ? userSpend : 0.0);
|
||||
const [maxBudget, setMaxBudget] = useState(selectedTeam ? selectedTeam.max_budget : null);
|
||||
useEffect(() => {
|
||||
console.log(`Updating team max budget for default team - userMaxBudget - ${userMaxBudget}, selectedTeam.team_alias - ${selectedTeam.team_alias}`)
|
||||
if (selectedTeam) {
|
||||
if (selectedTeam.team_alias === "Default Team") {
|
||||
setMaxBudget(userMaxBudget);
|
||||
} else {
|
||||
setMaxBudget(selectedTeam.max_budget);
|
||||
}
|
||||
}
|
||||
}, [selectedTeam, userMaxBudget]);
|
||||
console.log(`maxBudget: ${maxBudget}, selectedTeam.max_budget: ${selectedTeam.max_budget}, selectedTeam: ${JSON.stringify(selectedTeam)}`)
|
||||
const [userModels, setUserModels] = useState([]);
|
||||
useEffect(() => {
|
||||
|
@ -53,25 +64,6 @@ const ViewUserSpend: React.FC<ViewUserSpendProps> = ({ userID, userRole, accessT
|
|||
if (!accessToken || !userID || !userRole) {
|
||||
return;
|
||||
}
|
||||
// if (userRole === "Admin" && userSpend == null) {
|
||||
// try {
|
||||
// const globalSpend = await getTotalSpendCall(accessToken);
|
||||
// if (globalSpend) {
|
||||
// if (globalSpend.spend) {
|
||||
// setSpend(globalSpend.spend);
|
||||
// } else {
|
||||
// setSpend(0.0);
|
||||
// }
|
||||
// if (globalSpend.max_budget) {
|
||||
// setMaxBudget(globalSpend.max_budget);
|
||||
// } else {
|
||||
// setMaxBudget(null);
|
||||
// }
|
||||
// }
|
||||
// } catch (error) {
|
||||
// console.error("Error fetching global spend data:", error);
|
||||
// }
|
||||
// }
|
||||
};
|
||||
const fetchUserModels = async () => {
|
||||
try {
|
||||
|
@ -103,11 +95,6 @@ const ViewUserSpend: React.FC<ViewUserSpendProps> = ({ userID, userRole, accessT
|
|||
setSpend(userSpend)
|
||||
}
|
||||
}, [userSpend])
|
||||
useEffect(() => {
|
||||
if (selectedTeam && selectedTeam.max_budget !== maxBudget) {
|
||||
setMaxBudget(selectedTeam.max_budget);
|
||||
}
|
||||
}, [selectedTeam, maxBudget]);
|
||||
|
||||
// logic to decide what models to display
|
||||
let modelsToDisplay = [];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue