From 425a8fdb3ab8dccccc26cdab1e3de46d76215fe9 Mon Sep 17 00:00:00 2001 From: Ishaan Jaff Date: Wed, 29 May 2024 16:45:30 -0700 Subject: [PATCH] feat - edit user --- .../src/components/edit_user.tsx | 51 +++++++++++-------- .../src/components/view_users.tsx | 38 +++++++------- 2 files changed, 52 insertions(+), 37 deletions(-) diff --git a/ui/litellm-dashboard/src/components/edit_user.tsx b/ui/litellm-dashboard/src/components/edit_user.tsx index 4ffc14f5b4c..d1364c9a425 100644 --- a/ui/litellm-dashboard/src/components/edit_user.tsx +++ b/ui/litellm-dashboard/src/components/edit_user.tsx @@ -34,6 +34,15 @@ const EditUserModal: React.FC = ({ visible, onCancel, user, setEditedUser({ ...editedUser, [e.target.name]: e.target.value }); }; + const handleEditSubmit = async (formValues: Record) => { + // Call API to update team with teamId and values + + console.log("handleEditSubmit:", formValues); + onSubmit(formValues); + onCancel(); + }; + + const handleSubmit = () => { onSubmit(editedUser); onCancel(); @@ -45,15 +54,21 @@ const EditUserModal: React.FC = ({ visible, onCancel, user, return ( - + - + {/* {JSON.stringify(user)} - + */}
= ({ visible, onCancel, user, <> @@ -70,43 +86,38 @@ const EditUserModal: React.FC = ({ visible, onCancel, user, - - - - +
+ Save +
+ diff --git a/ui/litellm-dashboard/src/components/view_users.tsx b/ui/litellm-dashboard/src/components/view_users.tsx index c631ff510a6..9f955488cc9 100644 --- a/ui/litellm-dashboard/src/components/view_users.tsx +++ b/ui/litellm-dashboard/src/components/view_users.tsx @@ -24,7 +24,7 @@ import { Icon, TextInput, } from "@tremor/react"; -import { userInfoCall } from "./networking"; +import { userInfoCall, userUpdateUserCall } from "./networking"; import { Badge, BadgeDelta, Button } from "@tremor/react"; import RequestAccess from "./request_model_access"; import CreateUser from "./create_user_button"; @@ -65,26 +65,29 @@ const ViewUserDashboard: React.FC = ({ const [selectedUser, setSelectedUser] = useState(null); const defaultPageSize = 25; - const handleEditClick = (user) => { - console.log("handleEditClick:", user); - setSelectedUser(user); - setEditModalVisible(true); - }; - const handleEditCancel = () => { setEditModalVisible(false); setSelectedUser(null); }; - const handleEditSubmit = async (editedUser) => { - // Call your API to update the user with editedUser data - // ... - - // Update the userData state with the updated user data - const updatedUserData = userData.map((user) => - user.user_id === editedUser.user_id ? editedUser : user - ); - setUserData(updatedUserData); + const handleEditSubmit = async (editedUser: any) => { + console.log("inside handleEditSubmit:", editedUser); + + if (!accessToken || !token || !userRole || !userID) { + return; + } + + userUpdateUserCall(accessToken, editedUser, userRole); + + if (userData) { + const updatedUserData = userData.map((user) => + user.user_id === editedUser.user_id ? editedUser : user + ); + setUserData(updatedUserData); + } + setSelectedUser(null); + setEditModalVisible(false); + // Close the modal }; useEffect(() => { @@ -234,7 +237,8 @@ const ViewUserDashboard: React.FC = ({ { - handleEditClick(user) + setSelectedUser(user) + setEditModalVisible(true) }}>View Keys {