ajout de la logique pour la modification du pseudo en bdd (non finis) 🚧

pull/83/head
Pierre Ferreira 1 year ago
parent d4cac26aab
commit b2de538e42

@ -7,6 +7,7 @@ import { delay, update } from 'lodash';
import { socket } from '../SocketConfig'; import { socket } from '../SocketConfig';
import AuthService from '../services/AuthService'; import AuthService from '../services/AuthService';
/* Style */ /* Style */
import './Profile.css' import './Profile.css'
import Edit from "../res/icon/edit-pen.png" import Edit from "../res/icon/edit-pen.png"
@ -45,7 +46,8 @@ const Profile = () => {
const onUsernameChange = (newUsername) => { const onUsernameChange = (newUsername) => {
console.log("nouveau pseudo : " + newUsername) console.log("nouveau pseudo : " + newUsername)
if(user?.pseudo != null){ if(user?.pseudo != null){
user.pseudo = newUsername; SessionService.UpdatePseudo(user.pseudo, newUsername)
//user.pseudo = newUsername;
} }
} }

@ -27,6 +27,35 @@ class SessionController {
await db.disconnect(); await db.disconnect();
} }
} }
static async UpdatePseudo(req, res){
const db = new DatabaseService();
try{
await db.connect();
const user = db.getUserByPseudo(req.body.pseudo);
if (!user) {
res.status(200).json({ error: "true", message: 'User not found' });
return;
}
await db.updatePseudo(user.idUser, req.body.newPseudo); //* update
const updatedUser = db.getUserByPseudo(req.body.newPseudo);
req.session.user.pseudo = updatedUser.pseudo;
res.status(200).json({ user: req.session.user }); //verif rep
}
catch(error){
console.error(error);
res.status(500).json({ error: 'Erreur lors de la modification du pseudo de l\'utilisateur.' });
}
finally{
await db.disconnect();
}
}
} }
module.exports = SessionController; module.exports = SessionController;

@ -11,5 +11,6 @@ router.delete('/auth/delAccount', AuthController.delAccount)
// Routes pour les sessions // Routes pour les sessions
router.get('/session', SessionController.getUserInformation); router.get('/session', SessionController.getUserInformation);
router.put('/session/updatePseudo', SessionController.UpdatePseudo);
module.exports = router; module.exports = router;

@ -172,6 +172,19 @@ class DatabaseService {
}); });
}); });
} }
async updatePseudo(userId, newPseudo){
return new Promise((resolve, reject) => {
this.client.run('UPDATE users SET pseudo = ? WHERE idUser = ?', newPseudo, userId, (err, result) => {
if(err){
reject(err);
}
else{
resolve(result);
}
});
});
}
} }
module.exports = DatabaseService; module.exports = DatabaseService;

@ -23,7 +23,33 @@ class SessionService {
throw error; throw error;
} }
} }
static async UpdatePseudo(pseudo : string, newPseudo : string) {
try {
const response = await fetch(ADRESSE_DBSERVER + '/session/updatePseudo', {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
pseudo,
newPseudo
}),
credentials: 'include',
});
if (response.ok) {
const result = await response.json();
return result;
} else {
const errorResponse = await response.json();
throw new Error(errorResponse.error);
}
} catch (error) {
console.error(error);
throw error;
}
}
} }
export default SessionService; export default SessionService;

Loading…
Cancel
Save