avancement image profil
continuous-integration/drone/push Build encountered an error Details

master
Darius BERTRAND 2 years ago
parent 3399527a49
commit 5753570ae7

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -11,11 +11,10 @@ const ConfigurationDuProfil = ()=>{
const userData = useSelector((state) => state.user.user);
const [pseudo, setPseudo] = useState(userData.pseudo);
const[userPicture, setUserPicture] = useState(null);
const [userPicture, setUserPicture] = useState(userData.picture.data);
const [tmpImage, setTmpImage] =useState(null);
const [tmpAffichageImage, setTmpAffichageImage]=useState(PLUS)
const [tmpAffichageImage, setTmpAffichageImage]=useState(PLUS);
const [displayAdd, setDisplayAdd] = useState(false);
const uid = useContext(UidContext);
const [message, setMessage] = useState('');
const handleLoadFile=(e)=>{
@ -31,25 +30,11 @@ const ConfigurationDuProfil = ()=>{
console.log("eeee");
};
console.log("rrrrrr");
setTmpAffichageImage(`${tmpImage.data}`)
setTmpAffichageImage(`${tmpImage.data}`);
console.log("uuuuuuuuuuuu");
console.log(tmpImage);
};
useEffect(() => {
const fetchImage = async () => {
try {
const { data } = await axios.get(`/api/users/${uid}/image`);
setUserPicture(`data:${data.contentType};base64,${data.data}`);
} catch (err) {
console.error(err);
}
};
fetchImage();
}, [uid]);
const handleTPM =()=> {
console.log("test");
console.log(tmpImage);
@ -60,7 +45,7 @@ const ConfigurationDuProfil = ()=>{
e.preventDefault();
try {
await axios.patch( `${process.env.REACT_APP_API_URL}api/user/${uid}/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!");
} catch (err) {
setMessage("Erreur lors de la mise à jour de l'image de profil");

@ -1,5 +1,5 @@
import React, { useState } from 'react';
import { NavLink, redirect} from "react-router-dom";
import { NavLink} from "react-router-dom";
import axios from "axios";
import Connexion from "./Connexion";

@ -8,7 +8,6 @@ import FollowHandler from "./UserProfil/FollowHandler";
const MiniProfil = ({uid} ) => {
const [userData, setUserData] = useState(null);
useEffect(() => {
async function fetchData() {
const response = await fetch(`${process.env.REACT_APP_API_URL}api/user/${uid}`);
@ -25,7 +24,7 @@ const MiniProfil = ({uid} ) => {
return (
<div className="ListReco">
<div className="UtiReco">
<img className="image" src={userData.picture}/>
<img className="image" src={userData.picture.data}/>
<a href={`/Profil/${uid}`}>{userData.pseudo}</a>
</div>
</div>

@ -91,10 +91,8 @@ module.exports.signIn = async (req, res) => {
console.log("signin: ",req.body);
const {email, password} = req.body
try {
console.log("test user1 ");
const user = await UserModel.login({email, password});
console.log("test user2 ");
//creation d'un token

@ -1,6 +1,6 @@
const UserModel = require("../models/user.model");
const ObjectID = require("mongoose").Types.ObjectId;
/*const Image = mongoose.model('Image', ImageSchema);*/
//-password pour ne pas donner le password
module.exports.getAllUsers = async (req, res) => {
@ -77,10 +77,12 @@ module.exports.compteUpdatePseudo = async (req, res) => {
}
module.exports.getImage = async (req, res) => {
try {
const image = await Image.findById(req.params.id);
res.status(200).json(image);
const user = await UserModel.findById(req.params.id);
if (!user) {
return res.status(404).json({ message: 'User not found' });
}
res.status(200).json(user.picture);
} catch (err) {
res.status(500).json({ message: 'Error getting image' });
}
@ -89,7 +91,7 @@ module.exports.getImage = async (req, res) => {
module.exports.saveImage = async (req, res) => {
try {
const { data, contentType } = req.body;
const image = new Image({ data, contentType });
const image = new UserModel.picture({ data, contentType });
await image.save();
res.status(201).json(image);
} catch (err) {

@ -63,7 +63,7 @@ const userSchema = new mongoose.Schema(
},
picture: {
type: PictureSchema,
default: "./random-user.png"
default: { data: "data:image/png;base64,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", contentType: "image/png" }
},
bio :{
type: String,
@ -89,6 +89,7 @@ const userSchema = new mongoose.Schema(
// play function before save into display: 'block',
userSchema.pre("save", async function(next) {
const salt = await bcrypt.genSalt();
this.password = await bcrypt.hash(this.password, salt);
next();

Loading…
Cancel
Save