ERD 설계도

좋아요 API 설계
likeController.js
const conn = require('../mariadb');
const { StatusCodes } = require('http-status-codes');
const addLike = (req, res) => {
const { id } = req.params; // id = bookid
const { user_id } = req.body;
let sql = "INSERT INTO likes (user_id, liked_book_id) VALUES (?, ?)";
let values = [user_id, id]
conn.query(sql, values,
(err, results) => {
if (err) {
console.log(err);
return res.status(StatusCodes.BAD_REQUEST).end();
}
return res.status(StatusCodes.CREATED).json(results);
})
};
const removeLike = (req, res) => {
const { id } = req.params;
const { user_id } = req.body;
let sql = "DELETE FROM likes WHERE user_id = ? AND liked_book_id = ?";
let values = [user_id, id]
conn.query(sql, values,
(err, results) => {
if (err) {
console.log(err);
return res.status(StatusCodes.BAD_REQUEST).end();
}
return res.status(StatusCodes.CREATED).json(results);
})
};
module.exports = {
addLike, removeLike
};
likes.js (라우터)
const express = require('express')
const router = express.Router();
const {addLike, removeLike} = require('../controller/likeController');
router.use(express.json());
// 좋아요 추가
router.post('/:id', addLike);
// 좋아요 삭제
router.delete('/:id', removeLike);
module.exports = router;