BookStore - 좋아요 API

데브코스

목록 보기
66/133

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;

profile
Dive Head First | Work Super Hard | Attract Great People

0개의 댓글