ExpressJS/Prisma : Requête qui n'abouti pas
Bonjour à tous !
Je viens vers vous car j'ai un problème avec une requête à ma BDD qui n'abouti pas. J'ai plusieurs requête dans mon API mais c'est la seule qui se comporte de la sorte et je n'arrive pas à trouver ce qui ne va pas.
Voici mon code :
app.js :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| const express = require('express');
const cors = require('cors');
const commentRouter = require('./routes/comment.route');
const app = express();
app.use(express.json());
app.use(cors());
app.use('/api/comment', commentRouter);
module.exports = app; |
comment.route.js :
Code:
1 2 3 4 5 6 7 8 9
| const express = require('express');
const router = express.Router();
const authorize = require('../middlewares/authorize');
const commentController = require('../controllers/comment.controller');
router.get('/:id', authorize, commentController.getCommentByPostId);
router.post('/', authorize, commentController.addComment);
module.exports = router; |
comment.controller.js :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient();
exports.addComment = async (req, res, next) => {
try {
const {postId, authorId, textContent, date} = req.body;
const Comment = await prisma.comments.create({ // Cette requête fonctionne très bien. Je reçois un status 200 et le commentaire est bien créé dans la BDD.
data: {
postId,
authorId,
textContent,
date
},
})
.then(res.status(200).json({message: 'Commentaire créé'}))
.catch (e => res.status(500).json({e}))
}
catch {e => res.status(501).json({e})}
}
exports.getCommentByPostId = async (req, res, next) => {
try {
const postId = parseInt(req.params.id);
console.log('test'); // Ce message apparaît bien dans la console.
const Comments = await prisma.comments.findMany({ // La requête n'abouti jamais et je n'en vois pas la raison.
where: {
postId: postId
},
})
.then(res.status(200).json({data}))
.catch(res.status(403).json({e}))
}
catch {e => res.status(500).json({e})}
} |
et enfin le prisma.schema :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
model Comments {
comId Int @id @default(autoincrement())
post Posts @relation(fields: [postId], references: [postId])
postId Int
authorId Int
textContent String
date String
} |
J'ai cherché une faute de frappe mais rien ne m'a sauté aux yeux.
Je n'arrive pas à comprendre pourquoi la requête n’aboutit pas. Si elle renvoyait une erreur ça permettrait de trouver l'origine de l'erreur mais là...
Je vous remercie d'avance pour votre aide ! ;)