export const postAddMovie = (req, res) => {
let { title, synopsis, genres } = req.body;
// let genresArr = genres.split(",");
// addMovie({ title, synopsis, genresArr });
genres = genres.split(",");
addMovie({ title, synopsis, genres });
return res.redirect("/");
위 코드에서 주석처리 되어 있는 것처럼 진행했더니 DB에서 값 꺼내올때 genres가 undefined로 날아 오더라. 아직까지 왜그런지 파악이 안되는데 느낌상으론 객체에 대한 이해가 부족해 그런것 같다.
나~중에 알게 되면 수정하러 와야겠다.
1) req.body에 들어 있는 변수를 묶어 객체 형태로 변수 생성
2) addMovie({}) 내부에 생성한 객체묶음 그대로 던짐
3-1) ✅ 여기서 생성한 이름 그대로 던질 때는 정상동작,
3-2) 🚨 이름을 바꿔서 던지면 undefined
// DB에 저장하는 addMovie()
export const addMovie = ({ title, synopsis, genres }) => {
if (typeof title !== "string" || typeof synopsis !== "string") {
throw Error("❌ title and synopsis should be strings ❌");
}
if (!(genres instanceof Array)) {
throw Error("❌ genres should be an array ❌");
}
const id = Math.floor(Math.random() * (title.length + Date.now()));
movies = [{ id, title, synopsis, genres }, ...movies];
};