diff --git a/src/main/java/com/speech/up/script/controller/ScriptController.java b/src/main/java/com/speech/up/script/controller/ScriptController.java index 2c39c9e..779e85c 100644 --- a/src/main/java/com/speech/up/script/controller/ScriptController.java +++ b/src/main/java/com/speech/up/script/controller/ScriptController.java @@ -21,6 +21,7 @@ public class ScriptController { */ @GetMapping("/{userId}") public ResponseEntity> getScriptAll(@PathVariable Long userId){ + return scriptService.getScriptList(userId); } @@ -31,6 +32,7 @@ public ResponseEntity> getScriptAll(@PathVariable Long userId */ @PostMapping("") public ResponseEntity addScript(@RequestBody ScriptEntity scriptEntity) { + return scriptService.addScript(scriptEntity); } @@ -42,6 +44,7 @@ public ResponseEntity addScript(@RequestBody ScriptEntity scriptEn @PutMapping("") public ResponseEntity updateScript( @RequestBody ScriptEntity scriptEntity) { + return scriptService.updateScript(scriptEntity); } // 업데이트 시 내용 날아갈 수 있어 수정 필요 @@ -53,6 +56,7 @@ public ResponseEntity updateScript( @DeleteMapping("/{scriptId}") public ResponseEntity deleteScript(@PathVariable Long scriptId) { + scriptService.deleteScriptById(scriptId); return ResponseEntity.ok().build(); } diff --git a/src/main/java/com/speech/up/script/entity/ScriptEntity.java b/src/main/java/com/speech/up/script/entity/ScriptEntity.java index 6db6dc8..cf45c46 100644 --- a/src/main/java/com/speech/up/script/entity/ScriptEntity.java +++ b/src/main/java/com/speech/up/script/entity/ScriptEntity.java @@ -8,6 +8,7 @@ import lombok.*; import java.sql.Timestamp; + @ToString @Builder @Getter @@ -32,4 +33,5 @@ public class ScriptEntity { @JoinColumn(name = "user_id", nullable = false) @JsonBackReference private UserEntity user; + } diff --git a/src/main/java/com/speech/up/script/service/ScriptService.java b/src/main/java/com/speech/up/script/service/ScriptService.java index 05dfc54..9638cb9 100644 --- a/src/main/java/com/speech/up/script/service/ScriptService.java +++ b/src/main/java/com/speech/up/script/service/ScriptService.java @@ -20,7 +20,9 @@ public class ScriptService { private final UserRepository userRepository; public ResponseEntity> getScriptList(Long userId) { + List scripts = scriptRepository.findByUser_UserId(userId); + if (scripts.isEmpty()) { return new ResponseEntity<>(HttpStatus.OK); } @@ -28,6 +30,7 @@ public ResponseEntity> getScriptList(Long userId) { } public ResponseEntity addScript(ScriptEntity scriptEntity) { + ScriptEntity script = ScriptEntity.builder() .content(scriptEntity.getContent()) .createdAt(Timestamp.valueOf(LocalDateTime.now())) @@ -40,15 +43,18 @@ public ResponseEntity addScript(ScriptEntity scriptEntity) { } public ResponseEntity updateScript(ScriptEntity scriptEntity) { + if (scriptEntity.getUser().getUserId() != null) { UserEntity userEntity = userRepository.findById(scriptEntity.getUser().getUserId()) .orElseThrow(() -> new RuntimeException("user not found")); scriptEntity.setUser(userEntity); } + ScriptEntity script = scriptRepository.findById(scriptEntity.getScriptId()) .orElseThrow(() -> new RuntimeException("script not found")); + script.setContent(scriptEntity.getContent()); script.setModifiedAt(Timestamp.valueOf(LocalDateTime.now())); @@ -58,6 +64,7 @@ public ResponseEntity updateScript(ScriptEntity scriptEntity) { } public void deleteScriptById(Long scriptId) { + scriptRepository.deleteById(scriptId); } }