TIL 69일차 (20240403)

박세연·2024년 4월 3일

TIL

목록 보기
58/70


오늘 한 일

  • interestGenre 생성 시 genre_id 못 받아오는 부분 수정
  • redis에 refresh token 넣는 기능 완성

오늘 머리 싸매는 일

  • 유저 기능 수정 중 닉네임, 비밀번호, 관심 장르를 각각 따로 수정하도록 api를 나눴는데 닉네임과 비밀번호는 이전과 동일하게 할 수 있어서 빠르게 완성했으나 관심 장르는 외래키 (user_id)로 찾고 또 기존거를 유지하면 db에 양이 너무 많아질까봐 삭제 후 새 생성을 할까하는데 그 찾아오는 것이 너무 어렵다... createqureybuilder 문법 너무 어려운 것 .·´¯(>▂<)´¯·.

interestGenre 생성하는 코드

// interestGenre 하나씩 생성하기
    await interestGenre.map(async element => {
      // 장르 아이디로 장르 테이블 가져오기
      const inputGenre = await this.findGenre(+element);
      if (!inputGenre) {
        throw new NotFoundException('해당 아이디의 장르는 없습니다.');
      }
      // 위의 error로 존재하지 않은 아이디(10 이상의 숫자 아이디)를 가진 interestGenre는 생성되지 않음

      return await this.interestGenreRepository.save({
        user,
        genre: inputGenre,
      });
    });
    
    
    /* 장르 아이디로 장르 받아오는 함수 */
  private async findGenre(id: number) {
    return await this.genreRepository.findOne({ where: { id } });
  }

어제와 달라진 점은 map 함수의 콜백 함수를 async로 맞춰준 것! genre_id가 계속 null로 들어갔던 이유는 repository를 조회하는 문법은 async로 해야하는데 계속 async를 안넣어줬던 것... 오늘에서야 깨달아서 다행이다;;

profile
배워나가는 중

0개의 댓글