const user = await db.User.findOne({
where: { id: parseInt(req.params.id, 10) || req.user.id || 0 }
});
1. 이부분에서요 req.params.id가 0이면 내정보를 요청한걸로쳐서
req.user.id를찾는것은 이해하고있습니다.
근데 로직에서 req.params.id가 0이면 parseInt()가 0을 반환
하잖아요?
그럼이렇게될텐데
where:{id: 0 || req.user&&req.user.id || 0}
or연산자에 의해서 0 이 false로 처리되어서 두번째값인 req.user
가 대입되는건가요?
2. 그렇다면 req.user역시도 undefined라면 마지막값도 0이니
where:{false||false||false}가 되서 sequelize가
에러를일으키지않나요?sequelize가 undefined값을받았을때 오류를
일으킨다고 다른댓글에 답변하신거를 봐서요