reglement problemes

master
Darius BERTRAND 2 years ago
parent e0372627df
commit 5f85798942

@ -3,7 +3,7 @@ import { useSelector, useDispatch } from 'react-redux';
import PLUS from "../../assets/img/plus.png"; import PLUS from "../../assets/img/plus.png";
import { NavLink } from "react-router-dom"; import { NavLink } from "react-router-dom";
import axios from "axios"; import axios from "axios";
import { uploadPicture } from '../../actions/user.actions'; import { getUser, uploadPicture } from '../../actions/user.actions';
import { useParams } from 'react-router-dom'; import { useParams } from 'react-router-dom';
import { UidContext } from '../AppContext'; import { UidContext } from '../AppContext';
@ -16,6 +16,9 @@ const ConfigurationDuProfil = ()=>{
const [tmpAffichageImage, setTmpAffichageImage]=useState(PLUS); const [tmpAffichageImage, setTmpAffichageImage]=useState(PLUS);
const [displayAdd, setDisplayAdd] = useState(false); const [displayAdd, setDisplayAdd] = useState(false);
const [message, setMessage] = useState(''); const [message, setMessage] = useState('');
const dispatch=useDispatch();
const handleLoadFile=(e)=>{ const handleLoadFile=(e)=>{
const file=e.target.files[0]; const file=e.target.files[0];
@ -35,6 +38,21 @@ const ConfigurationDuProfil = ()=>{
console.log(tmpImage); console.log(tmpImage);
}; };
const handleUpdatePseudo=(e)=>{
e.preventDefault();
console.log(userData.pseudo);
axios
.put(`${process.env.REACT_APP_API_URL}api/user/update/`+ userData._id , { pseudo })
.then(response => {
console.log(response);
})
.catch(error => {
console.log(error);
});
dispatch(getUser);
}
const handleTPM =()=> { const handleTPM =()=> {
console.log("test"); console.log("test");
console.log(tmpImage); console.log(tmpImage);
@ -44,6 +62,7 @@ const ConfigurationDuProfil = ()=>{
const handleUpdate = async (e) => { const handleUpdate = async (e) => {
e.preventDefault(); e.preventDefault();
try { try {
await axios.patch( `${process.env.REACT_APP_API_URL}api/user/${userData.id}/image`, tmpImage); await axios.patch( `${process.env.REACT_APP_API_URL}api/user/${userData.id}/image`, tmpImage);
setMessage("Image de profil mise à jour avec succès!"); setMessage("Image de profil mise à jour avec succès!");
@ -54,26 +73,7 @@ const ConfigurationDuProfil = ()=>{
userPicture(tmpAffichageImage); userPicture(tmpAffichageImage);
console.log(userPicture); console.log(userPicture);
setDisplayAdd(false); setDisplayAdd(false);
//const pseudoError = document.querySelector(".pseudo.error");
/* const pictureError =document.querySelector(".picture.error");
await axios({
method: "post",
url: `${process.env.REACT_APP_API_URL}api/user/upload`,
data: {
// pseudo,
userPicture,
}
,
})
.then((res) => {
console.log(res);
if (res.data.errors) {
//pseudoError.innerHTML = res.data.errors.pseudo;
pictureError.innerHTML = res.data.errors.picture;
}
})
.catch((err) => console.log(err));*/
}; };
@ -115,7 +115,7 @@ const ConfigurationDuProfil = ()=>{
</div> </div>
<button type='submit' className='buttonValidationChangements' id='update' value='update' >Valider</button> <button type='submit' className='buttonValidationChangements' id='update' value='update' onClick={handleUpdatePseudo}>Valider</button>
</div> </div>
</div> </div>
</form> </form>
@ -138,7 +138,6 @@ const ConfigurationDuProfil = ()=>{
</div> </div>
<div className='profile-pic '> <div className='profile-pic '>
<label className="-label" for="file"> <label className="-label" for="file">
<span className="camera"></span>
<span>Changer</span> <span>Changer</span>
</label> </label>
<input type="file" id="file" name='file' accept=".jpg, .jpeg, .png" onChange={handleLoadFile}/> {/*onChange={handleLoadFile} onChange={(e)=> setTmpImage(e.target.files[0].name)} */} <input type="file" id="file" name='file' accept=".jpg, .jpeg, .png" onChange={handleLoadFile}/> {/*onChange={handleLoadFile} onChange={(e)=> setTmpImage(e.target.files[0].name)} */}

@ -145,7 +145,7 @@ const Profil = () => {
<div> <div>
<div> <div>
<div className="imageProfil"> <div className="imageProfil">
<img className="image" src={userData.picture}/> <img className="image" src={userData.picture.data}/>
</div> </div>
<div className="divPseudo"> <div className="divPseudo">
<h3 className="pseudo">{userData.pseudo}</h3> <h3 className="pseudo">{userData.pseudo}</h3>

@ -1,6 +1,6 @@
const UserModel = require("../models/user.model"); const UserModel = require("../models/user.model");
const ObjectID = require("mongoose").Types.ObjectId; const ObjectID = require("mongoose").Types.ObjectId;
const bcrypt = require('bcrypt');
//-password pour ne pas donner le password //-password pour ne pas donner le password
module.exports.getAllUsers = async (req, res) => { module.exports.getAllUsers = async (req, res) => {
@ -46,25 +46,39 @@ module.exports.updateUser = async (req, res) => {
return res.status(500).json({ message: err }); return res.status(500).json({ message: err });
} }
}; };
module.exports.compteUpdatePseudo= async (req,res)=>{
try {
console.log("test Change Pseudo");
const updatedUser = await UserModel.findByIdAndUpdate(
{ _id: req.params.id },
{
$set: {
pseudo: req.body.pseudo,
}
},
{ runValidators: true, new: true}
);
res.status(200).json({ message: "User updated successfully", data: updatedUser });
} catch (err) {
return res.status(500).json({ message: err });
}
}
module.exports.compteUpdatePseudo = async (req, res) => { module.exports.compteUpdateEmail= async (req, res) => {
try { try {
console.log("test1");
console.log(req.body.email); console.log("test Change mail");
console.log(req.body.password); const salt = await bcrypt.genSalt();
console.log(req.params.id);
/*if (!UserModel.isValid(req.params.id)) {
return res.status(400).send("ID unknown : " + req.params.id);
}
*/
console.log("test");
const updatedUser = await UserModel.findByIdAndUpdate( const updatedUser = await UserModel.findByIdAndUpdate(
{ _id: req.params.id }, { _id: req.params.id },
{ {
$set: { $set: {
email: req.body.email, email: req.body.email,
password: req.body.password, password: password = await bcrypt.hash(req.body.password, salt),
} }
}, },
{ runValidators: true, new: true} { runValidators: true, new: true}

@ -25,6 +25,7 @@ router.patch('/notif/:id', userController.getNotif);
router.patch('/:id/image', userController.saveImage); router.patch('/:id/image', userController.saveImage);
router.get('/:id/image',userController.getImage); router.get('/:id/image',userController.getImage);
router.put('/update/:id',userController.compteUpdatePseudo); router.put('/update/:id',userController.compteUpdatePseudo);
router.put('/update/:id',userController.compteUpdatePseudo);
//upload pb avec postman //upload pb avec postman
//router.post("/upload", upload.single('file'), uploadController.uploadProfil); //router.post("/upload", upload.single('file'), uploadController.uploadProfil);

Loading…
Cancel
Save