두 번째 과제는 건강한 식사 문화를 만들고자 하는 기업 '프레시코드'의 과제를 택했다. 지난번 과제와 큰 차이가 없었고, 이번엔 팀 전원이 뭉쳤기 때문에 조금 여유로울 것이라고 생각했었다. 하지만 큰 오산이었다...
첫 번째 과제와 큰 차이가 없는 과제였던 만큼, 팀원들과 좀 더 디테일에 신경쓰자고 의견을 모았다. 그리고 그 디테일을 잡는다는 것이 얼마나 힘든 일인지를 뼈저리게 느끼게 되었다...
지난 과제에 이어, 이번에도 DB Service 파트를 맡아보기로 했다. 지난번에 어려움을 겪었으니, 이 참에 제대로 굴러보자는 마인드였다. 과제가 출제되자 마자 내가 DB 모델링부터 직접 해보는 등 의욕적으로 나섰다.
javadoc 주석을 작성하는 것을 익혔기에, 이번에도 주석을 잘 남기는 것에 신경을 썼다.
/**
* 메뉴에 아이템 생성
* @param {Integer} menuId
* @param {String} size
* @param {String} name
* @param {Integer} price
* @returns {Object} 생성한 아이템 정보 { id, name, size, price, isSold, createdAt, updatedAt }
*/
exports.createItem = async (menuId, size, name, price) => {
try {
const newItem = await models.item.create({
size,
name,
price,
menuId,
});
return newItem;
} catch (err) {
throw err;
}
};