P
Prisma2w ago
Noah

Retrieve user information

I try to create a user and store it in my db from the infomations that the user will enter on login information import { Request, Response } from 'express'; import bcrypt from 'bcryptjs'; import { PrismaClient } from '@prisma/client'; const prisma = new PrismaClient(); interface CreateUserRequest { email: string; userPassword: string; } export default async function handler(req: Request, res: Response) { if (req.method === 'POST') { const { email, userPassword }: CreateUserRequest = req.body; if (!email || !userPassword) { return res.status(400).json({ message: 'Email et mot de passe sont requis' }); } try { const hashedPassword = await bcrypt.hash(userPassword, 10);
const product = await prisma.user.create({ data: { email, userPassword: hashedPassword }, }); res.status(201).json(product); } catch (error) { console.error('Erreur de création de l'utilisateur:', error); res.status(500).json({ message: 'Erreur de création de l'utilisateur', error: error.message }); } } else { // Si la méthode HTTP n'est pas POST res.status(405).json({ message: 'Méthode non autorisée' }); } }
4 Replies
Yetzederixx
Yetzederixx2w ago
any error messages?
Noah
NoahOP2w ago
I managed to advance I have my model and my controller but there is just my way quio does not work : export const createUsers = async (name: string, email: string, hashedPassword: string) => { const newUser = await prisma.user.create({ data: { userName: name, email: email, userPassword: hashedPassword, }, }); return newUser; }; and export const createUsers = async (req: Request, res: Response) => { const { name, email, password } = req.body; // Validation basique : vérifier que les champs sont présents if (!name !email !password) { return res.status(400).json({ message: 'Nom, email et mot de passe sont requis.' }); } try { // Vérifier si l'email est déjà utilisé const existingUser = await prisma.user.findUnique({ where: { email: email, }, }); if (existingUser) { return res.status(400).json({ message: 'L'email est déjà utilisé.' }); } // Hashage du mot de passe const hashedPassword = await bcrypt.hash(password, 10); return res.status(201).json({ message: 'Utilisateur créé avec succès', user: createUsers }); } catch (error) { console.error('Erreur lors de la création de l'utilisateur:', error); return res.status(500).json({ message: 'Erreur serveur' }); } }; but I get a message when I try to create my router.post that tells me no overload matches this call
Yetzederixx
Yetzederixx2w ago
that sounds like a framework (express or whatever) issue moreso than prisma
Nurul
Nurul2w ago
Do you mind sharing your route file? How are you calling this API?
Want results from more Discord servers?
Add your server