diff --git a/backend/src/main/java/com/example/backend/dashboard/controller/DashboardController.java b/backend/src/main/java/com/example/backend/dashboard/controller/DashboardController.java index e48da81b..84e36efc 100644 --- a/backend/src/main/java/com/example/backend/dashboard/controller/DashboardController.java +++ b/backend/src/main/java/com/example/backend/dashboard/controller/DashboardController.java @@ -36,7 +36,7 @@ public ResponseEntity getCaseVideo(@PathVariable("id") int id, HttpSession se public ResponseEntity updateCaseState(@PathVariable("id") int id, @RequestBody StateRequest request, HttpSession session) { - Map message = dashboardService.updateCaseState(id, request, session); + Map message = dashboardService.updateCaseState(id, request, session); return ResponseEntity.ok(message); } @@ -45,7 +45,7 @@ public ResponseEntity updateCaseState(@PathVariable("id") int id, public ResponseEntity completeCase(@PathVariable("id") int id, @RequestBody SurveyRequest surveyRequest, HttpSession session) { - Map completedCase = dashboardService.completeCase(id, surveyRequest, session); + Map completedCase = dashboardService.completeCase(id, surveyRequest, session); return ResponseEntity.ok(completedCase); } diff --git a/backend/src/main/java/com/example/backend/dashboard/service/DashboardService.java b/backend/src/main/java/com/example/backend/dashboard/service/DashboardService.java index b1b5b6af..d8c254cf 100644 --- a/backend/src/main/java/com/example/backend/dashboard/service/DashboardService.java +++ b/backend/src/main/java/com/example/backend/dashboard/service/DashboardService.java @@ -98,7 +98,7 @@ public Map getCaseVideo(int id, HttpSession session) { } // 출동, 미출동 상태 변경 - public Map updateCaseState(int id, StateRequest request, HttpSession session) { + public Map updateCaseState(int id, StateRequest request, HttpSession session) { CaseEntity caseEntity = getAuthorizedCase(id, session); int policeId = getAuthenticatedPoliceId(session); @@ -131,7 +131,7 @@ public Map updateCaseState(int id, StateRequest request, HttpSe dashboardRepository.save(caseEntity); - return Collections.singletonMap(id, "지금 출동합니다."); + return Collections.singletonMap("message", "지금 출동합니다."); } else { // 미출동 처리 caseEntity.setState(CaseEntity.CaseState.미출동); @@ -143,12 +143,12 @@ public Map updateCaseState(int id, StateRequest request, HttpSe dashboardRepository.save(caseEntity); - return Collections.singletonMap(id, "미출동 사건으로 변경합니다."); + return Collections.singletonMap("message", "미출동 사건으로 변경합니다."); } } // 출동 중인 사건 해결 처리 - public Map completeCase(int id, SurveyRequest surveyRequest, HttpSession session) { + public Map completeCase(int id, SurveyRequest surveyRequest, HttpSession session) { CaseEntity caseEntity = getAuthorizedCase(id, session); if (caseEntity.getState() != CaseEntity.CaseState.출동) { @@ -164,6 +164,6 @@ public Map completeCase(int id, SurveyRequest surveyRequest, Ht dashboardRepository.save(caseEntity); - return Collections.singletonMap(id, "해당 사건이 해결 처리되었습니다."); + return Collections.singletonMap("message", "해당 사건이 해결 처리되었습니다."); } } diff --git a/backend/src/main/java/com/example/backend/user/controller/UserController.java b/backend/src/main/java/com/example/backend/user/controller/UserController.java index e5eb1a10..cc8332b1 100644 --- a/backend/src/main/java/com/example/backend/user/controller/UserController.java +++ b/backend/src/main/java/com/example/backend/user/controller/UserController.java @@ -8,6 +8,8 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.Collections; + @RestController @RequestMapping("/api/v1") @RequiredArgsConstructor @@ -33,4 +35,18 @@ public ResponseEntity getSessionUser(HttpSession session) { } return ResponseEntity.ok(user); } + + // 로그아웃 API + @PostMapping("/logout") + public ResponseEntity authLogout(HttpSession session) { + // 세션에서 사용자 정보 가져오기 + UserResponseDto user = (UserResponseDto) session.getAttribute("user"); + if (user == null) { + throw new IllegalStateException("이미 로그아웃 상태입니다."); + } + // 세션에 사용자 정보 삭제 + session.removeAttribute("user"); + + return ResponseEntity.ok(Collections.singletonMap("message", "로그아웃 성공")); + } }