역시 배웠던 결제를 만들고 있다. 그런데 이 결제가 들어가면 들어갈 수록 이해하기 어려운 부분이 많다.
login
accesstoken 취득
payment
user 검증(Authorization)
payment DB 저장
여기서 굉장히 헷갈리는 부분은 4. user 검증이다. 다시 이곳을 function순으로 정리하자면...
userGuards
gqlAccessGuards extents AuthGuard
3-1. jwtAccessStrategy extents PassportStrategy
3-2. validate
이 중간 중간 데이터를 가져오는 부분이 매우 이해가 가지 않는다. 다만 console을 계속 찍어본 결과 3-2. valdate 걷힌 data가 userGuards를 나올 때는 User의 정보를 포함하고 있는 것이라는 것이다. 그래서 UserGuards를 데코레이터를 찍어 놓으면 context.req.user 로 정보를 가져 올 수 있다고 이해했다.
또 그것을 custom한 context를 만들어 user 정보만 가져올 수 있는 타입으로 편하게 저장할 수 있는 방식이라고 이해했다.
우선은 기능구현을 좀 해보고 다시 복습해야 할 거 같다. ㅠㅠ