-
Notifications
You must be signed in to change notification settings - Fork 0
2023 03 30 개발 일지
Jinho Kim edited this page Apr 2, 2023
·
14 revisions
- 로그인도 회원가입 때처럼 queryBuilder를 사용해 userId에 맞는 데이터를 가져오고 없다면 에러,
있다면 로그인 처리를 해주며 된다
- nestjs의 CanActivate, jwtService을 사용
- Guard를 전역으로 자동으로 배치하게 하여, Global 데코레이터가 없는 메서드는 로그인된 상태가 아니라면 전부 실행이 안되도록 함
- 로그인된 상태가 아니어도 되는 메서드들에 적용함 EX) 회원가입, 로그인 등등
- repository에 createQueryBuilder가 들어있어서 아래와 같은 방식으로 쉽게 확인할 수 있었다.
const userId = createUserDto.userId;
const existUser = await this.userRepository
.createQueryBuilder('user')
.where('user.userId = :userId', { userId })
.select(['user.userId'])
.getOne();
console.log(existUser);
if (existUser) {
throw new HttpException('User id already exists', HttpStatus.BAD_REQUEST);
}