Deplacement de la requete post d'utilisateur vers le chemin users au lieu de user/[id]
This commit is contained in:
parent
1c967dd1db
commit
7872310c60
2 changed files with 41 additions and 41 deletions
|
@ -56,47 +56,6 @@ export async function GET({ params }) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function POST({ request }) {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
// Utilisation de multer pour récupérer le fichier
|
|
||||||
upload.single('profilePicture')(request.raw, request.raw, async (err) => {
|
|
||||||
if (err) {
|
|
||||||
console.error('Erreur de téléchargement:', err);
|
|
||||||
return reject(json({ error: 'Erreur lors du téléchargement du fichier' }, { status: 500 }));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Récupérer les données du formulaire (sans le fichier)
|
|
||||||
const { pseudo, nom, prenom, email, password } = await request.json();
|
|
||||||
|
|
||||||
// L'URL de l'image sera le chemin relatif à partir du dossier uploads
|
|
||||||
const imageUrl = request.file ? `${destinationDir}/${request.file.filename}` : null;
|
|
||||||
|
|
||||||
try {
|
|
||||||
// Créer un nouvel utilisateur avec l'URL de l'image
|
|
||||||
const user = await prisma.user.create({
|
|
||||||
data: {
|
|
||||||
pseudo,
|
|
||||||
nom,
|
|
||||||
prenom,
|
|
||||||
email,
|
|
||||||
password,
|
|
||||||
profilePictureUrl: imageUrl, // Stocker l'URL de l'image
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
// Mettre l'utilisateur dans le cache Redis
|
|
||||||
await redisClient.set(`user:${user.id}`, JSON.stringify(user), { EX: 3600 });
|
|
||||||
|
|
||||||
// Réponse avec les données de l'utilisateur
|
|
||||||
return resolve(json(user, { status: 201 }));
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Erreur lors de la création de l\'utilisateur:', error);
|
|
||||||
return reject(json({ error: 'Erreur lors de la création de l\'utilisateur' }, { status: 500 }));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Mettre à jour un utilisateur avec PUT
|
// Mettre à jour un utilisateur avec PUT
|
||||||
export async function PUT({ params, request }) {
|
export async function PUT({ params, request }) {
|
||||||
const userId = parseInt(params.id);
|
const userId = parseInt(params.id);
|
||||||
|
|
|
@ -25,3 +25,44 @@ export async function GET() {
|
||||||
return json({ error: 'Erreur serveur' }, { status: 500 });
|
return json({ error: 'Erreur serveur' }, { status: 500 });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function POST({ request }) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
// Utilisation de multer pour récupérer le fichier
|
||||||
|
upload.single('profilePicture')(request.raw, request.raw, async (err) => {
|
||||||
|
if (err) {
|
||||||
|
console.error('Erreur de téléchargement:', err);
|
||||||
|
return reject(json({ error: 'Erreur lors du téléchargement du fichier' }, { status: 500 }));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Récupérer les données du formulaire (sans le fichier)
|
||||||
|
const { pseudo, nom, prenom, email, password } = await request.json();
|
||||||
|
|
||||||
|
// L'URL de l'image sera le chemin relatif à partir du dossier uploads
|
||||||
|
const imageUrl = request.file ? `${destinationDir}/${request.file.filename}` : null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Créer un nouvel utilisateur avec l'URL de l'image
|
||||||
|
const user = await prisma.user.create({
|
||||||
|
data: {
|
||||||
|
pseudo,
|
||||||
|
nom,
|
||||||
|
prenom,
|
||||||
|
email,
|
||||||
|
password,
|
||||||
|
profilePictureUrl: imageUrl, // Stocker l'URL de l'image
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
// Mettre l'utilisateur dans le cache Redis
|
||||||
|
await redisClient.set(`user:${user.id}`, JSON.stringify(user), { EX: 3600 });
|
||||||
|
|
||||||
|
// Réponse avec les données de l'utilisateur
|
||||||
|
return resolve(json(user, { status: 201 }));
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Erreur lors de la création de l\'utilisateur:', error);
|
||||||
|
return reject(json({ error: 'Erreur lors de la création de l\'utilisateur' }, { status: 500 }));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue