codestates / Bobpago

재료만 알려줘, 밥파고가 해결해줄께 🤖
https://www.bobpago.com
5 stars 3 forks source link

[fix] 레시피 재료 수정 버그 #147

Closed tjdgns5272 closed 3 years ago

tjdgns5272 commented 3 years ago

서버 로직을 재료 id로 이루어진 배열 길이의 기준에 따라 조건문으로 분기하여 처리했습니다.

// recipe.service.ts
async updateRecipeIngredientId(ingredientId, recipeId) {
    console.log(ingredientId, recipeId);
    const ingredients = await this.recipeIngredientRepository.find({
      where: { recipeId },
    });
    // 기존에 갖고있던 재료 길이와 수정된 재료의 길이가 일치 하지 않는 경우
    if (ingredients.length !== ingredientId.length) {
      // 테이블에 있던 기존 데이터는 삭제한다
      await this.recipeIngredientRepository.delete({ recipeId });

      // 새롭게 재료 id를 레시피 id 기준으로 추가해준다
      await this.createRecipeIngredientId(ingredientId, recipeId);
    } else {
      for (let i = 0; i < ingredients.length; i++) {
        ingredients[i].ingredientId = ingredientId[i];
      }
      await this.recipeIngredientRepository.save(ingredients);
    }
  }