From 38d745e61998ea5c6fde403e6b967fa091b5b693 Mon Sep 17 00:00:00 2001 From: AdrianSantamarina Date: Tue, 12 Mar 2024 00:51:55 +0100 Subject: [PATCH] =?UTF-8?q?Adici=C3=B3n=20comprobaci=C3=B3n=20nombre=20de?= =?UTF-8?q?=20usuario=20ya=20existe=20en=20register?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- users/userservice/user-service.js | 13 +++++++++++++ webapp/src/components/AddUser.js | 7 +++++++ 2 files changed, 20 insertions(+) diff --git a/users/userservice/user-service.js b/users/userservice/user-service.js index 9fe91127..7921cb28 100644 --- a/users/userservice/user-service.js +++ b/users/userservice/user-service.js @@ -45,6 +45,19 @@ app.post('/adduser', async (req, res) => { res.status(400).json({ error: error.message }); }}); +app.get('/checkuser/:username', async (req, res) => { + try{ + const existUser = await User.findOne({ username: req.params.username }); + if(existUser){ + return res.json({ exists: true }); + }else{ + return res.json({ exists: false }); + } + } catch (error) { + res.status(400).json({ error: error.message }); + } +}); + const server = app.listen(port, () => { console.log(`User Service listening at http://localhost:${port}`); }); diff --git a/webapp/src/components/AddUser.js b/webapp/src/components/AddUser.js index 2869d2f1..88d5ab7d 100644 --- a/webapp/src/components/AddUser.js +++ b/webapp/src/components/AddUser.js @@ -22,6 +22,13 @@ const AddUser = () => { setError("Passwords don't match"); return; } + + const response = await axios.get(`${apiEndpoint}/checkuser/${username}`); + if (response.data.exists) { + setError("Username already exists"); + return; + } + await axios.post(`${apiEndpoint}/adduser`, { username, password }); setOpenSnackbar(true); } catch (error) {