diff --git a/backend/src/main/java/codezap/likes/repository/LikesJpaRepository.java b/backend/src/main/java/codezap/likes/repository/LikesJpaRepository.java index 4433070df..9e75de583 100644 --- a/backend/src/main/java/codezap/likes/repository/LikesJpaRepository.java +++ b/backend/src/main/java/codezap/likes/repository/LikesJpaRepository.java @@ -13,5 +13,5 @@ public interface LikesJpaRepository extends LikesRepository, JpaRepository templateIds); + void deleteAllByTemplateIds(@Param(value = "templateIds") List templateIds); } diff --git a/backend/src/main/java/codezap/likes/repository/LikesRepository.java b/backend/src/main/java/codezap/likes/repository/LikesRepository.java index 26df06b0a..3b6837bef 100644 --- a/backend/src/main/java/codezap/likes/repository/LikesRepository.java +++ b/backend/src/main/java/codezap/likes/repository/LikesRepository.java @@ -16,5 +16,5 @@ public interface LikesRepository { void deleteByMemberAndTemplate(Member member, Template template); - void deleteByTemplateIds(List templateIds); + void deleteAllByTemplateIds(List templateIds); } diff --git a/backend/src/main/java/codezap/likes/service/LikesService.java b/backend/src/main/java/codezap/likes/service/LikesService.java index 79dfce166..8562d00bb 100644 --- a/backend/src/main/java/codezap/likes/service/LikesService.java +++ b/backend/src/main/java/codezap/likes/service/LikesService.java @@ -42,6 +42,6 @@ public void cancelLike(Member member, long templateId) { @Transactional public void deleteAllByTemplateIds(List templateIds) { - likesRepository.deleteByTemplateIds(templateIds); + likesRepository.deleteAllByTemplateIds(templateIds); } } diff --git a/backend/src/main/java/codezap/tag/repository/TemplateTagJpaRepository.java b/backend/src/main/java/codezap/tag/repository/TemplateTagJpaRepository.java index 2e81c2722..0fb949b8b 100644 --- a/backend/src/main/java/codezap/tag/repository/TemplateTagJpaRepository.java +++ b/backend/src/main/java/codezap/tag/repository/TemplateTagJpaRepository.java @@ -20,7 +20,7 @@ public interface TemplateTagJpaRepository extends TemplateTagRepository, JpaRepo JOIN TemplateTag tt ON t.id = tt.id.tagId WHERE tt.template = :template """) - List findAllTagsByTemplate(Template template); + List findAllTagsByTemplate(@Param("template") Template template); @Query(""" SELECT tt, t @@ -28,7 +28,7 @@ public interface TemplateTagJpaRepository extends TemplateTagRepository, JpaRepo JOIN FETCH tt.tag t WHERE tt.id.templateId = :templateId """) - List findAllByTemplateId(Long templateId); + List findAllByTemplateId(@Param("templateId") Long templateId); @Query(""" SELECT tt, t @@ -36,7 +36,7 @@ public interface TemplateTagJpaRepository extends TemplateTagRepository, JpaRepo JOIN FETCH tt.tag t WHERE tt.id.templateId in :templateIds """) - List findAllByTemplateIdsIn(List templateIds); + List findAllByTemplateIdsIn(@Param("templateIds") List templateIds); @Query(""" SELECT DISTINCT t @@ -49,9 +49,9 @@ WHERE tt.id.templateId IN ( ) ) """) - List findAllTagDistinctByMemberId(Long memberId); + List findAllTagDistinctByMemberId(@Param("memberId") Long memberId); @Modifying(clearAutomatically = true) @Query("DELETE FROM TemplateTag t WHERE t.template.id in :templateIds") - void deleteByTemplateIds(@Param("templateIds") List templateIds); + void deleteAllByTemplateIds(@Param("templateIds") List templateIds); } diff --git a/backend/src/main/java/codezap/tag/repository/TemplateTagRepository.java b/backend/src/main/java/codezap/tag/repository/TemplateTagRepository.java index e8dfc92f1..2983b2213 100644 --- a/backend/src/main/java/codezap/tag/repository/TemplateTagRepository.java +++ b/backend/src/main/java/codezap/tag/repository/TemplateTagRepository.java @@ -24,5 +24,5 @@ public interface TemplateTagRepository { void deleteAllByTemplateId(Long templateId); - void deleteByTemplateIds(List templateIds); + void deleteAllByTemplateIds(List templateIds); } diff --git a/backend/src/main/java/codezap/tag/service/TagService.java b/backend/src/main/java/codezap/tag/service/TagService.java index 44d279b34..b14282d09 100644 --- a/backend/src/main/java/codezap/tag/service/TagService.java +++ b/backend/src/main/java/codezap/tag/service/TagService.java @@ -72,6 +72,6 @@ public void updateTags(Template template, List tags) { @Transactional public void deleteAllByTemplateIds(List templateIds) { - templateTagRepository.deleteByTemplateIds(templateIds); + templateTagRepository.deleteAllByTemplateIds(templateIds); } } diff --git a/backend/src/main/java/codezap/template/controller/TemplateController.java b/backend/src/main/java/codezap/template/controller/TemplateController.java index ee150d4fd..eb63c426e 100644 --- a/backend/src/main/java/codezap/template/controller/TemplateController.java +++ b/backend/src/main/java/codezap/template/controller/TemplateController.java @@ -109,7 +109,7 @@ public ResponseEntity deleteTemplates( @AuthenticationPrinciple Member member, @PathVariable List ids ) { - templateApplicationService.deleteByMemberAndIds(member, ids); + templateApplicationService.deleteAllByMemberAndTemplateIds(member, ids); return ResponseEntity.noContent().build(); } } diff --git a/backend/src/main/java/codezap/template/repository/SourceCodeJpaRepository.java b/backend/src/main/java/codezap/template/repository/SourceCodeJpaRepository.java index 95063922c..bb9e5833e 100644 --- a/backend/src/main/java/codezap/template/repository/SourceCodeJpaRepository.java +++ b/backend/src/main/java/codezap/template/repository/SourceCodeJpaRepository.java @@ -6,6 +6,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import codezap.global.exception.CodeZapException; import codezap.global.exception.ErrorCode; @@ -37,5 +38,5 @@ default SourceCode fetchByTemplateAndOrdinal(Template template, int ordinal) { @Modifying(clearAutomatically = true) @Query("DELETE FROM SourceCode s WHERE s.template.id in :templateIds") - void deleteByTemplateIds(List templateIds); + void deleteAllByTemplateIds(@Param("templateIds") List templateIds); } diff --git a/backend/src/main/java/codezap/template/repository/SourceCodeRepository.java b/backend/src/main/java/codezap/template/repository/SourceCodeRepository.java index 745f3ae77..a605d7348 100644 --- a/backend/src/main/java/codezap/template/repository/SourceCodeRepository.java +++ b/backend/src/main/java/codezap/template/repository/SourceCodeRepository.java @@ -26,5 +26,5 @@ public interface SourceCodeRepository { void deleteById(Long id); - void deleteByTemplateIds(List templateIds); + void deleteAllByTemplateIds(List templateIds); } diff --git a/backend/src/main/java/codezap/template/repository/ThumbnailJpaRepository.java b/backend/src/main/java/codezap/template/repository/ThumbnailJpaRepository.java index 511a48410..e0bd5e140 100644 --- a/backend/src/main/java/codezap/template/repository/ThumbnailJpaRepository.java +++ b/backend/src/main/java/codezap/template/repository/ThumbnailJpaRepository.java @@ -6,6 +6,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; import codezap.global.exception.CodeZapException; import codezap.global.exception.ErrorCode; @@ -28,12 +29,12 @@ default Thumbnail fetchByTemplate(Template template) { join fetch t.sourceCode sc WHERE t.template = :template """) - Optional findByTemplate(Template template); + Optional findByTemplate(@Param("template") Template template); @Modifying(clearAutomatically = true) @Query("DELETE FROM Thumbnail t WHERE t.template.id in :templateIds") - void deleteByTemplateIds(List templateIds); + void deleteAllByTemplateIds(@Param("templateIds") List templateIds); @Query(""" SELECT t, sc @@ -41,7 +42,7 @@ default Thumbnail fetchByTemplate(Template template) { join fetch t.sourceCode sc WHERE t.template.id IN :templateIds """) - List findAllByTemplateIn(List templateIds); + List findAllByTemplateIn(@Param("templateIds") List templateIds); void deleteByTemplateId(Long id); diff --git a/backend/src/main/java/codezap/template/repository/ThumbnailRepository.java b/backend/src/main/java/codezap/template/repository/ThumbnailRepository.java index aebb65288..e3d6da634 100644 --- a/backend/src/main/java/codezap/template/repository/ThumbnailRepository.java +++ b/backend/src/main/java/codezap/template/repository/ThumbnailRepository.java @@ -18,5 +18,5 @@ public interface ThumbnailRepository { Thumbnail save(Thumbnail thumbnail); - void deleteByTemplateIds(List ids); + void deleteAllByTemplateIds(List ids); } diff --git a/backend/src/main/java/codezap/template/service/SourceCodeService.java b/backend/src/main/java/codezap/template/service/SourceCodeService.java index 75b510635..8261d7beb 100644 --- a/backend/src/main/java/codezap/template/service/SourceCodeService.java +++ b/backend/src/main/java/codezap/template/service/SourceCodeService.java @@ -99,7 +99,7 @@ private void validateSourceCodesCount(Template template, UpdateTemplateRequest u } @Transactional - public void deleteByTemplateIds(List templateIds) { - sourceCodeRepository.deleteByTemplateIds(templateIds); + public void deleteAllByTemplateIds(List templateIds) { + sourceCodeRepository.deleteAllByTemplateIds(templateIds); } } diff --git a/backend/src/main/java/codezap/template/service/ThumbnailService.java b/backend/src/main/java/codezap/template/service/ThumbnailService.java index 89ce5818e..2d94efd0f 100644 --- a/backend/src/main/java/codezap/template/service/ThumbnailService.java +++ b/backend/src/main/java/codezap/template/service/ThumbnailService.java @@ -40,7 +40,7 @@ public ExploreTemplatesResponse findAll() { } @Transactional - public void deleteByTemplateIds(List templateIds) { - thumbnailRepository.deleteByTemplateIds(templateIds); + public void deleteAllByTemplateIds(List templateIds) { + thumbnailRepository.deleteAllByTemplateIds(templateIds); } } diff --git a/backend/src/main/java/codezap/template/service/facade/TemplateApplicationService.java b/backend/src/main/java/codezap/template/service/facade/TemplateApplicationService.java index 813298ba6..4b57c5eb8 100644 --- a/backend/src/main/java/codezap/template/service/facade/TemplateApplicationService.java +++ b/backend/src/main/java/codezap/template/service/facade/TemplateApplicationService.java @@ -144,11 +144,11 @@ public void update(Member member, Long templateId, UpdateTemplateRequest updateT } @Transactional - public void deleteByMemberAndIds(Member member, List ids) { - thumbnailService.deleteByTemplateIds(ids); - sourceCodeService.deleteByTemplateIds(ids); - tagService.deleteAllByTemplateIds(ids); - likesService.deleteAllByTemplateIds(ids); - templateService.deleteByMemberAndIds(member, ids); + public void deleteAllByMemberAndTemplateIds(Member member, List templateIds) { + thumbnailService.deleteAllByTemplateIds(templateIds); + sourceCodeService.deleteAllByTemplateIds(templateIds); + tagService.deleteAllByTemplateIds(templateIds); + likesService.deleteAllByTemplateIds(templateIds); + templateService.deleteByMemberAndIds(member, templateIds); } } diff --git a/backend/src/test/java/codezap/likes/repository/FakeLikeRepository.java b/backend/src/test/java/codezap/likes/repository/FakeLikeRepository.java index b381ffd5e..91d62672c 100644 --- a/backend/src/test/java/codezap/likes/repository/FakeLikeRepository.java +++ b/backend/src/test/java/codezap/likes/repository/FakeLikeRepository.java @@ -28,6 +28,6 @@ public void deleteByMemberAndTemplate(Member member, Template template) { } @Override - public void deleteByTemplateIds(List templateIds) { + public void deleteAllByTemplateIds(List templateIds) { } } diff --git a/backend/src/test/java/codezap/likes/repository/LikesJpaRepositoryTest.java b/backend/src/test/java/codezap/likes/repository/LikesJpaRepositoryTest.java index 39485bb53..18cb9f884 100644 --- a/backend/src/test/java/codezap/likes/repository/LikesJpaRepositoryTest.java +++ b/backend/src/test/java/codezap/likes/repository/LikesJpaRepositoryTest.java @@ -171,7 +171,7 @@ void testDeleteByTemplateId() { likesRepository.save(new Likes(template1, member2)); likesRepository.save(new Likes(template2, member1)); - likesRepository.deleteByTemplateIds(List.of(template1.getId())); + likesRepository.deleteAllByTemplateIds(List.of(template1.getId())); assertAll( () -> assertThat(likesRepository.countByTemplate(template1)).isEqualTo(0), @@ -191,7 +191,7 @@ void testDeleteByTemplateIds() { likesRepository.save(new Likes(template1, member2)); likesRepository.save(new Likes(template2, member1)); - likesRepository.deleteByTemplateIds(List.of(template1.getId(), template2.getId())); + likesRepository.deleteAllByTemplateIds(List.of(template1.getId(), template2.getId())); assertAll( () -> assertThat(likesRepository.countByTemplate(template1)).isEqualTo(0), diff --git a/backend/src/test/java/codezap/template/repository/FakeSourceCodeRepository.java b/backend/src/test/java/codezap/template/repository/FakeSourceCodeRepository.java index a97c01427..12c6f95fc 100644 --- a/backend/src/test/java/codezap/template/repository/FakeSourceCodeRepository.java +++ b/backend/src/test/java/codezap/template/repository/FakeSourceCodeRepository.java @@ -97,7 +97,7 @@ public void deleteById(Long id) { } @Override - public void deleteByTemplateIds(List templateIds) { + public void deleteAllByTemplateIds(List templateIds) { templateIds.forEach(id -> sourceCodes.removeIf(sourceCode -> Objects.equals(sourceCode.getId(), id))); } diff --git a/backend/src/test/java/codezap/template/repository/FakeTemplateTagRepository.java b/backend/src/test/java/codezap/template/repository/FakeTemplateTagRepository.java index 40d3755ea..a1d94a41a 100644 --- a/backend/src/test/java/codezap/template/repository/FakeTemplateTagRepository.java +++ b/backend/src/test/java/codezap/template/repository/FakeTemplateTagRepository.java @@ -61,7 +61,7 @@ public void deleteAllByTemplateId(Long templateId) { } @Override - public void deleteByTemplateIds(List templateIds) { + public void deleteAllByTemplateIds(List templateIds) { templateIds.forEach(id -> templateTags.removeIf(templateTag -> Objects.equals(templateTag.getId(), id))); } diff --git a/backend/src/test/java/codezap/template/repository/FakeThumbnailRepository.java b/backend/src/test/java/codezap/template/repository/FakeThumbnailRepository.java index adc912f6a..db65052e2 100644 --- a/backend/src/test/java/codezap/template/repository/FakeThumbnailRepository.java +++ b/backend/src/test/java/codezap/template/repository/FakeThumbnailRepository.java @@ -58,7 +58,7 @@ public Thumbnail save(Thumbnail entity) { } @Override - public void deleteByTemplateIds(List templateIds) { + public void deleteAllByTemplateIds(List templateIds) { templateIds.forEach(id -> thumbnails.removeIf(thumbnail -> Objects.equals(thumbnail.getId(), id))); } diff --git a/backend/src/test/java/codezap/template/repository/SourceCodeRepositoryTest.java b/backend/src/test/java/codezap/template/repository/SourceCodeRepositoryTest.java index 0fe9a0660..c55aac9d6 100644 --- a/backend/src/test/java/codezap/template/repository/SourceCodeRepositoryTest.java +++ b/backend/src/test/java/codezap/template/repository/SourceCodeRepositoryTest.java @@ -182,7 +182,7 @@ void testDeleteByTemplateId() { sut.save(new SourceCode(template1, "SourceCode 2", "Content 2", 2)); sut.save(new SourceCode(template2, "SourceCode 3", "Content 3", 1)); - sut.deleteByTemplateIds(List.of(1L)); + sut.deleteAllByTemplateIds(List.of(1L)); var result = sut.findAllByTemplate(template1); assertThat(result).isEmpty(); diff --git a/backend/src/test/java/codezap/template/repository/ThumbnailRepositoryTest.java b/backend/src/test/java/codezap/template/repository/ThumbnailRepositoryTest.java index febb51537..29101c388 100644 --- a/backend/src/test/java/codezap/template/repository/ThumbnailRepositoryTest.java +++ b/backend/src/test/java/codezap/template/repository/ThumbnailRepositoryTest.java @@ -125,7 +125,7 @@ void deleteByTemplateIdSuccess() { sut.save(new Thumbnail(template, sourceCode)); // when - sut.deleteByTemplateIds(List.of(template.getId())); + sut.deleteAllByTemplateIds(List.of(template.getId())); // then assertThatThrownBy(() -> sut.fetchByTemplate(template)) @@ -136,7 +136,7 @@ void deleteByTemplateIdSuccess() { @Test @DisplayName("템플릿 id로 썸네일 삭제 성공: 존재하지 않는 템플릿의 id로 삭제해도 예외로 처리하지 않는다.") void deleteByNotExistTemplateId() { - assertThatCode(() -> sut.deleteByTemplateIds(List.of(100L))) + assertThatCode(() -> sut.deleteAllByTemplateIds(List.of(100L))) .doesNotThrowAnyException(); } } diff --git a/backend/src/test/java/codezap/template/service/SourceCodeServiceTest.java b/backend/src/test/java/codezap/template/service/SourceCodeServiceTest.java index 248cb3868..4eb70b1a8 100644 --- a/backend/src/test/java/codezap/template/service/SourceCodeServiceTest.java +++ b/backend/src/test/java/codezap/template/service/SourceCodeServiceTest.java @@ -429,7 +429,7 @@ void deleteById() { sourceCodeRepository.save(SourceCodeFixture.get(template, 2)); // when - sourceCodeService.deleteByTemplateIds(List.of(template.getId())); + sourceCodeService.deleteAllByTemplateIds(List.of(template.getId())); // then assertThat(sourceCodeRepository.findAllByTemplate(template)).isEmpty(); @@ -447,7 +447,7 @@ void deleteByIds() { sourceCodeRepository.save(SourceCodeFixture.get(template2, 2)); // when - sourceCodeService.deleteByTemplateIds(List.of(template1.getId(), template2.getId())); + sourceCodeService.deleteAllByTemplateIds(List.of(template1.getId(), template2.getId())); // then assertAll( @@ -461,7 +461,7 @@ void deleteByIds() { void deleteByIds_WhenIdNotExist() { Template template = createSavedTemplate(); - sourceCodeService.deleteByTemplateIds(List.of(template.getId())); + sourceCodeService.deleteAllByTemplateIds(List.of(template.getId())); assertThat(sourceCodeRepository.findAllByTemplate(template)).isEmpty(); } diff --git a/backend/src/test/java/codezap/template/service/ThumbnailServiceTest.java b/backend/src/test/java/codezap/template/service/ThumbnailServiceTest.java index 4c40c2402..45103a3d6 100644 --- a/backend/src/test/java/codezap/template/service/ThumbnailServiceTest.java +++ b/backend/src/test/java/codezap/template/service/ThumbnailServiceTest.java @@ -166,7 +166,7 @@ void deleteByTemplateSuccessWithOneThumbnail() { var sourceCode2 = sourceCodeRepository.save(new SourceCode(template2, "Filename 2", "Content 2", 1)); var savedThumbnail2 = thumbnailRepository.save(new Thumbnail(template2, sourceCode2)); - sut.deleteByTemplateIds(List.of(template1.getId())); + sut.deleteAllByTemplateIds(List.of(template1.getId())); var actual = thumbnailRepository.findAll(); assertThat(actual).hasSize(1) @@ -186,7 +186,7 @@ void deleteByTemplateSuccessWithTwoThumbnail() { var sourceCode2 = sourceCodeRepository.save(new SourceCode(template2, "Filename 2", "Content 2", 1)); var savedThumbnail2 = thumbnailRepository.save(new Thumbnail(template2, sourceCode2)); - sut.deleteByTemplateIds(List.of(template1.getId(), template2.getId())); + sut.deleteAllByTemplateIds(List.of(template1.getId(), template2.getId())); var actual = thumbnailRepository.findAll(); assertThat(actual).doesNotContain(savedThumbnail1, savedThumbnail2); @@ -202,7 +202,7 @@ void deleteByTemplateFailWithWrongID() { var savedThumbnail = thumbnailRepository.save(new Thumbnail(template, sourceCode)); var nonExistentID = 100L; - sut.deleteByTemplateIds(List.of(nonExistentID)); + sut.deleteAllByTemplateIds(List.of(nonExistentID)); var actual = thumbnailRepository.findAll(); assertThat(actual).hasSize(1) diff --git a/backend/src/test/java/codezap/template/service/facade/TemplateApplicationServiceTest.java b/backend/src/test/java/codezap/template/service/facade/TemplateApplicationServiceTest.java index aea5b3795..e35e3a6d9 100644 --- a/backend/src/test/java/codezap/template/service/facade/TemplateApplicationServiceTest.java +++ b/backend/src/test/java/codezap/template/service/facade/TemplateApplicationServiceTest.java @@ -426,7 +426,7 @@ void deleteByMemberAndIds() { var deleteIds = List.of(template1.getId(), template2.getId()); // when - sut.deleteByMemberAndIds(member, deleteIds); + sut.deleteAllByMemberAndTemplateIds(member, deleteIds); // then Specification