From 2c791537db8d426aea60e802a24091df99c4d487 Mon Sep 17 00:00:00 2001 From: AZ0228 <53315675+AZ0228@users.noreply.github.com> Date: Wed, 29 Apr 2026 00:19:42 -0400 Subject: [PATCH] fixing username bug --- frontend/src/DBInteractions.js | 13 ++++++++++--- .../AcccountSettings/AccountSettings.jsx | 16 ++++++++++------ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/frontend/src/DBInteractions.js b/frontend/src/DBInteractions.js index 311c2bb8..c7aec45a 100644 --- a/frontend/src/DBInteractions.js +++ b/frontend/src/DBInteractions.js @@ -52,12 +52,19 @@ const save = async (roomId, userId, operation) => { const saveUser = async (name, username, email, password, recommendation, classroom) => { try{ - const responseBody = await apiRequest('/update-user', {name, email, username, classroom, recommendation, onboarded :null}); + const payload = {}; + if (name !== null && name !== undefined) payload.name = name; + if (username !== null && username !== undefined) payload.username = username; + if (email !== null && email !== undefined) payload.email = email; + if (recommendation !== null && recommendation !== undefined) payload.recommendation = recommendation; + if (classroom !== null && classroom !== undefined) payload.classroom = classroom; + + const responseBody = await apiRequest('/update-user', payload); if (responseBody.success) { console.log("User saved successfully"); - } else { - console.error("User save unsuccessful"); + return responseBody; } + throw new Error(responseBody.message || "User save unsuccessful"); } catch(error){ console.error("Error saving user"); throw error; diff --git a/frontend/src/components/AcccountSettings/AccountSettings.jsx b/frontend/src/components/AcccountSettings/AccountSettings.jsx index dc5ca100..3e158f32 100644 --- a/frontend/src/components/AcccountSettings/AccountSettings.jsx +++ b/frontend/src/components/AcccountSettings/AccountSettings.jsx @@ -132,34 +132,38 @@ function AccountSettings({ userInfo }) { setEmail(e.target.value); }; - const saveUsername = () => { + const saveUsername = async () => { if (editUsername){ try{ - saveUser(null, username, null, null, null, null); + await saveUser(null, username, null, null, null, null); setInitialUsername(username); + await validateToken(); addNotification({title: 'Username saved', message: 'Your username has been changed successfully', type: 'success'}); } catch (error) { addNotification({title: 'Error saving user', message: error.message, type: 'error'}); + return; } } setEditUsername(!editUsername); }; - const saveName = () => { + const saveName = async () => { try{ - saveUser(name, null, null, null, null, null); + await saveUser(name, null, null, null, null, null); setInitialName(name); setEditName(false); + await validateToken(); addNotification({title: 'Name saved', message: 'Your name has been changed successfully', type: 'success'}); } catch (error) { addNotification({title: 'Error saving user', message: error.message, type: 'error'}); } }; - const saveEmail = () => { + const saveEmail = async () => { try{ - saveUser(null, null, email, null, null, null); + await saveUser(null, null, email, null, null, null); setEditEmail(false); + await validateToken(); addNotification({title: 'Email saved', message: 'Your email has been changed successfully', type: 'success'}); } catch (error) { addNotification({title: 'Error saving user', message: error.message, type: 'error'});