diff --git a/src/main/java/com/twentythree/peech/script/controller/ThemeController.java b/src/main/java/com/twentythree/peech/script/controller/ThemeController.java index aac3d37..05534d1 100644 --- a/src/main/java/com/twentythree/peech/script/controller/ThemeController.java +++ b/src/main/java/com/twentythree/peech/script/controller/ThemeController.java @@ -41,7 +41,7 @@ public ThemesResponseDTO getThemes() { } @GetMapping("api/v2/theme") - public ThemeIdResponseDTO getTheme(@AuthenticationPrincipal JWTAuthentication jwtAuthentication) { - return themeService.getThemeByUserId(jwtAuthentication.getUserId()); + public ThemeIdResponseDTO getThemeId(@AuthenticationPrincipal JWTAuthentication jwtAuthentication) { + return themeService.getThemeIdByUserId(jwtAuthentication.getUserId()); } } diff --git a/src/main/java/com/twentythree/peech/script/repository/ThemeRepository.java b/src/main/java/com/twentythree/peech/script/repository/ThemeRepository.java index 937e638..9318923 100644 --- a/src/main/java/com/twentythree/peech/script/repository/ThemeRepository.java +++ b/src/main/java/com/twentythree/peech/script/repository/ThemeRepository.java @@ -16,6 +16,9 @@ public interface ThemeRepository extends JpaRepository { @Query("select v from VersionEntity v where v.themeEntity.themeId = :themeId") Optional> findAllVersionsByThemeId(Long themeId); - @Query("select t.themeId from ThemeEntity t where t.userEntity.id = :userId") + @Query("select t.themeId from ThemeEntity t where t.userEntity.id = :userId and t.themeTitle = 'default'") Long findThemeIdByUserId(Long userId); + + @Query("select t from ThemeEntity t where t.userEntity.id = :userId and t.themeTitle = 'default'") + Optional findDefaultThemeByUserId(Long userId); } diff --git a/src/main/java/com/twentythree/peech/script/service/ScriptService.java b/src/main/java/com/twentythree/peech/script/service/ScriptService.java index cd5d7c1..e013cb3 100644 --- a/src/main/java/com/twentythree/peech/script/service/ScriptService.java +++ b/src/main/java/com/twentythree/peech/script/service/ScriptService.java @@ -60,7 +60,7 @@ public SaveScriptDTO saveInputScript(Long themeId, String[] paragraphs) { LocalTime expectedTime = calculateExpectedTime(script); - ThemeEntity ThemeEntity = themeRepository.findById(themeId).orElseThrow(() -> new IllegalArgumentException("패키지 아이디가 잘못되었습니다.")); + ThemeEntity ThemeEntity = themeRepository.findDefaultThemeByUserId(themeId).orElseThrow(() -> new IllegalArgumentException("패키지 아이디가 잘못되었습니다.")); Long latestMajorVersion = scriptRepository.findByMaxMajorVersionInthemeId(themeId); @@ -78,7 +78,7 @@ public Mono saveSTTScriptVO(Long themeId, Long scriptId, ClovaR ScriptEntity scriptEntity = scriptRepository.findById(scriptId).orElseThrow(() -> new IllegalArgumentException("scriptId가 잘못 되었습니다.")); - ThemeEntity ThemeEntity = themeRepository.findById(themeId).orElseThrow(() -> new IllegalArgumentException("패키지 아이디가 잘못되었습니다.")); + ThemeEntity ThemeEntity = themeRepository.findDefaultThemeByUserId(themeId).orElseThrow(() -> new IllegalArgumentException("패키지 아이디가 잘못되었습니다.")); // 해당 스크립트의 MajorVersion과 MinorVersion을 가져옴 Long majorVersion = scriptEntity.getVersion().getMajorVersion(); diff --git a/src/main/java/com/twentythree/peech/script/service/ThemeService.java b/src/main/java/com/twentythree/peech/script/service/ThemeService.java index 2ce347b..96f5fad 100644 --- a/src/main/java/com/twentythree/peech/script/service/ThemeService.java +++ b/src/main/java/com/twentythree/peech/script/service/ThemeService.java @@ -56,7 +56,7 @@ public ThemesResponseDTO getThemesByUserId(Long userId) { } - public ThemeIdResponseDTO getThemeByUserId(Long userId) { + public ThemeIdResponseDTO getThemeIdByUserId(Long userId) { if(themeRepository.findThemeIdByUserId(userId) == null) { throw new IllegalArgumentException("생성된 기본폴더가 존재하지 않습니다.");