codestates / codestates/conimals
[정새얀] 220531 Error - Handling
- Dominant language
- JavaScript
- Stars
- 3
- Forks
- 5
- PR merge metrics
- No merged PRs in 30d
Description
> 해결된 에러라면 라벨에 'Complete' 를 달아주세요.
> 미해결된 에러라면 라벨을 'In progress' 로 변경해주세요.
### 어떤 에러인가요?
- 비밀번호 변경을 하면 포스트맨에서는 상태코드 200을 받아오는데 막상 데이터베이스에서는 변경이 되지 않음.
### 에러 메시지
* 에러 메시지는 없고 포스트맨에서의 응답 코드와 다르게 데이터베이스에서는 변경이 되지 않음.
### 에러 핸들링 방법
- .then()에서 data를 인자로 넣은 후 다음 줄에 console.log(data);를 해봤더니 [ 0 ]이 떴다.
업데이트 값으로 넣어준 비밀번호 값이 업데이트 되고 있지 않다는 의미였다.
그래서 코드를 다시 한번 코드를 살펴보고 데이터베이스를 봤더니, 데이터베이스에 비밀번호 값을 저장하는 이름을 password로 지정해뒀었는데, changedPassword를 해시하여 넣으려고 하니 변경된 값으로 업데이트가 되지 않았다. update 구문에서 업데이트 되는 값을 changedPassword에서 password로 바꿔주었더니 정상적으로 비밀번호가 변경되었다.
```js
const { users } = require('../../models');
const {
isAuthorized,
hashPassword,
comparePassword,
} = require('../tokenFunctions');
module.exports = async (req, res) => {
const match = comparePassword(password, userInfo.password);
if (!match) {
return res
.status(400)
.json({ message: '기존 비밀번호가 일치하지 않습니다' });
} else {
const hashed = hashPassword(password);
await users
.update({ password: hashed }, { where: { id: userInfo.id } })
.then(() => {
return res.status(200).json({
data: {
password: password,
currentPassword,
},
message: '비밀번호 변경에 성공하였습니다',
});
});
}
}
}
};
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.