fix(team_endpoints.py): support updating team budget on UI

This commit is contained in:
Krrish Dholakia 2025-06-20 17:57:20 -07:00
parent 53f0fff340
commit 6a4e29f87b
2 changed files with 13 additions and 1 deletions

View file

@ -193,7 +193,7 @@ async def _upsert_team_member_budget_table(
team_table.metadata = {}
team_member_budget_id = team_table.metadata.get("team_member_budget_id")
if team_member_budget_id is None and isinstance(team_member_budget_id, str):
if team_member_budget_id is not None and isinstance(team_member_budget_id, str):
# Budget exists
budget_row = await update_budget(
budget_obj=BudgetNewRequest(
@ -202,9 +202,13 @@ async def _upsert_team_member_budget_table(
),
user_api_key_dict=user_api_key_dict,
)
verbose_proxy_logger.info(
f"Updated team member budget table: {budget_row.budget_id}, with team_member_budget={team_member_budget}"
)
if updated_kv.get("metadata") is None:
updated_kv["metadata"] = {}
updated_kv["metadata"]["team_member_budget_id"] = budget_row.budget_id
updated_kv.pop("team_member_budget", None)
else: # budget does not exist
updated_kv = await _create_team_member_budget_table(
data=team_table,

View file

@ -235,6 +235,10 @@ const TeamInfoView: React.FC<TeamInfoProps> = ({
organization_id: values.organization_id,
};
if (values.team_member_budget !== undefined) {
updateData.team_member_budget = Number(values.team_member_budget);
}
// Handle object_permission updates
if (values.vector_stores !== undefined || values.mcp_servers !== undefined) {
updateData.object_permission = {
@ -420,6 +424,10 @@ const TeamInfoView: React.FC<TeamInfoProps> = ({
<NumericalInput step={0.01} precision={2} style={{ width: "100%" }} />
</Form.Item>
<Form.Item label="Team Member Budget (USD)" name="team_member_budget">
<NumericalInput step={0.01} precision={2} style={{ width: "100%" }} />
</Form.Item>
<Form.Item label="Reset Budget" name="budget_duration">
<Select placeholder="n/a">
<Select.Option value="24h">daily</Select.Option>