Frontend/Nest.js
유저 프로필 수정 시 Mapped types 주의할 점
wam
2024. 6. 21. 00:20
// 잘못된 예
export class EditProfileInput extends PickType(User, ["email", "password"]) {}
// 올바른 예
export class EditProfileInput extends PartialType(
PickType(User, ["email", "password"]),
) {}
- 유저의 이메일과 패스워드를 사용할 것이기 때문에 PickType을 사용할 수 있지만
- 프로필 수정하는 것이기 때문에 이메일과 패스워드는 수정될 수 있다!
- 즉 이메일만 수정, 또는 패스워드만 수정하는 경우가 있다.
- PickType이 아닌 PartialType에서 PickType을 사용하자
- user에서 email, password를 가지고 class를 만들고
- PartialType을 사용해서 optional 하게 만든 것이다.
- user에서 email, password를 가지고 class를 만들고