codestates / codestates/conimals

[정새얀] 220531 Error - Handling

Open
#68 0 comments 0 reactions 0 assignees View on GitHub
complete
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.