forked from phoenix/litellm-mirror
(ui) fix bug when editing
This commit is contained in:
parent
a289ac62fd
commit
eb24398ee1
2 changed files with 31 additions and 10 deletions
|
@ -217,10 +217,10 @@ const UserDashboard: React.FC<UserDashboardProps> = ({
|
||||||
|
|
||||||
<ViewKeyTable
|
<ViewKeyTable
|
||||||
userID={userID}
|
userID={userID}
|
||||||
|
userRole={userRole}
|
||||||
accessToken={accessToken}
|
accessToken={accessToken}
|
||||||
selectedTeam={selectedTeam ? selectedTeam : null}
|
selectedTeam={selectedTeam ? selectedTeam : null}
|
||||||
data={keys}
|
data={keys}
|
||||||
userModels={userModels}
|
|
||||||
setData={setKeys}
|
setData={setKeys}
|
||||||
/>
|
/>
|
||||||
<CreateKey
|
<CreateKey
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
"use client";
|
"use client";
|
||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
import { keyDeleteCall } from "./networking";
|
import { keyDeleteCall, modelAvailableCall } from "./networking";
|
||||||
import { InformationCircleIcon, StatusOnlineIcon, TrashIcon, PencilAltIcon } from "@heroicons/react/outline";
|
import { InformationCircleIcon, StatusOnlineIcon, TrashIcon, PencilAltIcon } from "@heroicons/react/outline";
|
||||||
import { keySpendLogsCall, PredictedSpendLogsCall, keyUpdateCall } from "./networking";
|
import { keySpendLogsCall, PredictedSpendLogsCall, keyUpdateCall } from "./networking";
|
||||||
import {
|
import {
|
||||||
|
@ -47,9 +47,9 @@ interface EditKeyModalProps {
|
||||||
// Define the props type
|
// Define the props type
|
||||||
interface ViewKeyTableProps {
|
interface ViewKeyTableProps {
|
||||||
userID: string;
|
userID: string;
|
||||||
|
userRole: string | null;
|
||||||
accessToken: string;
|
accessToken: string;
|
||||||
selectedTeam: any | null;
|
selectedTeam: any | null;
|
||||||
userModels: string[];
|
|
||||||
data: any[] | null;
|
data: any[] | null;
|
||||||
setData: React.Dispatch<React.SetStateAction<any[] | null>>;
|
setData: React.Dispatch<React.SetStateAction<any[] | null>>;
|
||||||
}
|
}
|
||||||
|
@ -73,9 +73,9 @@ interface ItemData {
|
||||||
|
|
||||||
const ViewKeyTable: React.FC<ViewKeyTableProps> = ({
|
const ViewKeyTable: React.FC<ViewKeyTableProps> = ({
|
||||||
userID,
|
userID,
|
||||||
|
userRole,
|
||||||
accessToken,
|
accessToken,
|
||||||
selectedTeam,
|
selectedTeam,
|
||||||
userModels,
|
|
||||||
data,
|
data,
|
||||||
setData,
|
setData,
|
||||||
}) => {
|
}) => {
|
||||||
|
@ -91,18 +91,39 @@ const ViewKeyTable: React.FC<ViewKeyTableProps> = ({
|
||||||
|
|
||||||
const [editModalVisible, setEditModalVisible] = useState(false);
|
const [editModalVisible, setEditModalVisible] = useState(false);
|
||||||
const [selectedToken, setSelectedToken] = useState<ItemData | null>(null);
|
const [selectedToken, setSelectedToken] = useState<ItemData | null>(null);
|
||||||
|
const [userModels, setUserModels] = useState([]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const fetchUserModels = async () => {
|
||||||
|
try {
|
||||||
|
if (userID === null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (accessToken !== null && userRole !== null) {
|
||||||
|
const model_available = await modelAvailableCall(accessToken, userID, userRole);
|
||||||
|
let available_model_names = model_available["data"].map(
|
||||||
|
(element: { id: string }) => element.id
|
||||||
|
);
|
||||||
|
console.log("available_model_names:", available_model_names);
|
||||||
|
setUserModels(available_model_names);
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error fetching user models:", error);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
fetchUserModels();
|
||||||
|
}, [accessToken, userID, userRole]);
|
||||||
|
|
||||||
const EditKeyModal: React.FC<EditKeyModalProps> = ({ visible, onCancel, token, onSubmit }) => {
|
const EditKeyModal: React.FC<EditKeyModalProps> = ({ visible, onCancel, token, onSubmit }) => {
|
||||||
const [form] = Form.useForm();
|
const [form] = Form.useForm();
|
||||||
|
|
||||||
// check token.models length == 0
|
console.log("in edit key modal:", token);
|
||||||
if (token.models.length == 0 && selectedTeam) {
|
console.log("in edit key modal, team:", selectedTeam);
|
||||||
token.models = selectedTeam.models;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const handleOk = () => {
|
const handleOk = () => {
|
||||||
form
|
form
|
||||||
.validateFields()
|
.validateFields()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue