From 5374ad67bb30b2b79787292a80f76271b8b0ed52 Mon Sep 17 00:00:00 2001 From: patrixampm Date: Sun, 19 Jan 2025 17:30:32 +0100 Subject: [PATCH] PUT method created and implemented --- src/pods/user/user.api.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/pods/user/user.api.ts b/src/pods/user/user.api.ts index 4674920..315c713 100644 --- a/src/pods/user/user.api.ts +++ b/src/pods/user/user.api.ts @@ -62,4 +62,31 @@ userApi } catch (error) { next(error); } + }) + .put('/:id', async (req, res, next) => { + try { + const { id } = req.params; + const editedUser: apiModel.Usuario = req.body; + const existingUser = await userRepository.getUser(id, { + contraseña: 1, + esContraseñaTemporal: 1, + }); + + if (userRepository.emailExists(editedUser.email, id) && existingUser) { + const hashedPassword = existingUser.contraseña; + const isTemporalPassword = existingUser.esContraseñaTemporal; + const userWithId = { + id: id, + ...editedUser, + }; + const mappedUser = mapUserFromApiToModel({ user: userWithId, hashedPassword, isTemporalPassword }); + await userRepository.saveUser(mappedUser); + res.sendStatus(204); + } else { + res.sendStatus(400); + } + } catch (error) { + next(error); + } }); + \ No newline at end of file