diff --git a/src/main/java/com/construction/constructionapi/Notice/Controller/NoticeController.java b/src/main/java/com/construction/constructionapi/Notice/Controller/NoticeController.java index 527a85a..1af4dc2 100644 --- a/src/main/java/com/construction/constructionapi/Notice/Controller/NoticeController.java +++ b/src/main/java/com/construction/constructionapi/Notice/Controller/NoticeController.java @@ -16,7 +16,6 @@ @RestController @RequestMapping("/notice") -@Transactional public class NoticeController { @Autowired @@ -47,14 +46,7 @@ public ResponseEntity> titleNotice(@PathVariable String title){ return ResponseEntity.ok().body(noticeService.titleNotice(title)); } - // 공지사항 내용 검색 - @GetMapping("/content/{content}") - public ResponseEntity> contentNotice(@PathVariable String content){ - return ResponseEntity.ok().body(noticeService.contentNotice(content)); - } - // 공지사항 작성자 검색 - // 수정 필요 @GetMapping("writer/{id}") public ResponseEntity> writerNotice(@PathVariable String id){ return ResponseEntity.ok().body(noticeService.writerNotice(id)); @@ -91,8 +83,8 @@ public ResponseEntity addNotice(HttpServletRequest request, // 공지사항 수정 @PostMapping("/update") - public ResponseEntity updateNotice(@RequestBody NoticeUpdateDTO noticeWriteDTO){ - noticeService.updateNotice(noticeWriteDTO); + public ResponseEntity updateNotice(@RequestBody NoticeUpdateDTO noticeUpdateDTO){ + noticeService.updateNotice(noticeUpdateDTO); return ResponseEntity.ok().body("success"); } @@ -102,39 +94,4 @@ public ResponseEntity deleteNotice(@PathVariable int id){ noticeService.deleteNotice(id); return ResponseEntity.ok().body("success"); } - - - - - - @GetMapping(value = "/check/{id}") - public ResponseEntity checkUpdate(HttpServletRequest request, - @PathVariable int id){ - - String token = jwtTokenProvider.resolveToken(request); - - if(token == null || !token.startsWith("Bearer ")){ - return ResponseEntity.badRequest().body("Invalid token"); - } - - String jwtToken = token.substring(7); - - if(!jwtTokenProvider.validateToken(jwtToken)){ - return ResponseEntity.badRequest().body("Invalid token"); - } - - String userEmail = jwtTokenProvider.getUserPk(jwtToken); - - if(userEmail == null){ - return ResponseEntity.badRequest().body("Invalid token"); - } - - String noticeEmail = noticeService.noticeContent(id).getUserID(); - - if (noticeEmail.equals(userEmail)) { - return ResponseEntity.ok().body("success"); - }else{ - return ResponseEntity.badRequest().body("failed"); - } - } } diff --git a/src/main/java/com/construction/constructionapi/Notice/DTO/NoticeUpdateDTO.java b/src/main/java/com/construction/constructionapi/Notice/DTO/NoticeUpdateDTO.java index 1493a00..a2b4041 100644 --- a/src/main/java/com/construction/constructionapi/Notice/DTO/NoticeUpdateDTO.java +++ b/src/main/java/com/construction/constructionapi/Notice/DTO/NoticeUpdateDTO.java @@ -6,7 +6,7 @@ @Getter @Setter public class NoticeUpdateDTO { - private int notice_id; + private int id; private String title; private String content; } diff --git a/src/main/java/com/construction/constructionapi/Notice/Repository/NoticeRepository.java b/src/main/java/com/construction/constructionapi/Notice/Repository/NoticeRepository.java index 94f6055..6f2f73a 100644 --- a/src/main/java/com/construction/constructionapi/Notice/Repository/NoticeRepository.java +++ b/src/main/java/com/construction/constructionapi/Notice/Repository/NoticeRepository.java @@ -9,8 +9,8 @@ public interface NoticeRepository extends JpaRepository { void deleteById(int id); Notice findById(int id); - List findAllByUserID(String id); - List findAllByTitleContaining(String title); - List findAllByContentContaining(String content); + List findAllByOrderByIdDesc(); + List findAllByUserIDOrderByIdDesc(String id); + List findAllByTitleContainingOrderByIdDesc(String title); } diff --git a/src/main/java/com/construction/constructionapi/Notice/Service/NoticeService.java b/src/main/java/com/construction/constructionapi/Notice/Service/NoticeService.java index c86df9a..22b107b 100644 --- a/src/main/java/com/construction/constructionapi/Notice/Service/NoticeService.java +++ b/src/main/java/com/construction/constructionapi/Notice/Service/NoticeService.java @@ -38,18 +38,18 @@ public void addNotice(String email, NoticeWriteDTO noticeWriteDTO){ public void updateNotice(NoticeUpdateDTO noticeUpdateDTO){ Notice newNotice = new Notice(); - newNotice.setId(noticeUpdateDTO.getNotice_id()); - newNotice.setUserID(noticeRepository.findById(noticeUpdateDTO.getNotice_id()).getUserID()); + newNotice.setId(noticeUpdateDTO.getId()); + newNotice.setUserID(noticeRepository.findById(noticeUpdateDTO.getId()).getUserID()); newNotice.setTitle(noticeUpdateDTO.getTitle()); newNotice.setContent(noticeUpdateDTO.getContent()); - newNotice.setWrite_date(noticeRepository.findById(noticeUpdateDTO.getNotice_id()).getWrite_date()); + newNotice.setWrite_date(noticeRepository.findById(noticeUpdateDTO.getId()).getWrite_date()); noticeRepository.save(newNotice); } // 공지사항 전체 조회 public List allNotice(){ - return noticeRepository.findAll(); + return noticeRepository.findAllByOrderByIdDesc(); } // 공지사항 상세 내용 조회 @@ -58,18 +58,11 @@ public Notice noticeContent(int id){ } // 공지사항 제목 검색 - public List titleNotice(String title){ - return noticeRepository.findAllByTitleContaining(title); - } - - // 공지사항 내용 검색 - public List contentNotice(String content){ - return noticeRepository.findAllByContentContaining(content); - } + public List titleNotice(String title){ return noticeRepository.findAllByTitleContainingOrderByIdDesc(title); } // 공지사항 작성자 검색 public List writerNotice(String id){ - return noticeRepository.findAllByUserID(id); + return noticeRepository.findAllByUserIDOrderByIdDesc(id); } // 공지사항 학제 diff --git a/src/main/java/com/construction/constructionapi/SpringSecurity/DTO/JwtResponseDTO.java b/src/main/java/com/construction/constructionapi/SpringSecurity/DTO/JwtResponseDTO.java index 8f4e89f..e685bde 100644 --- a/src/main/java/com/construction/constructionapi/SpringSecurity/DTO/JwtResponseDTO.java +++ b/src/main/java/com/construction/constructionapi/SpringSecurity/DTO/JwtResponseDTO.java @@ -4,7 +4,7 @@ import lombok.Getter; @Getter -@AllArgsConstructor +@AllArgsConstructor // Setter를 사용하지 않아 기본으로 초기화 시켜줌 public class JwtResponseDTO { private String accessToken; } \ No newline at end of file diff --git a/src/main/java/com/construction/constructionapi/SpringSecurity/Security/JwtAuthenticationFilter.java b/src/main/java/com/construction/constructionapi/SpringSecurity/Security/JwtAuthenticationFilter.java index 8ff4a81..9be17cd 100644 --- a/src/main/java/com/construction/constructionapi/SpringSecurity/Security/JwtAuthenticationFilter.java +++ b/src/main/java/com/construction/constructionapi/SpringSecurity/Security/JwtAuthenticationFilter.java @@ -1,6 +1,6 @@ package com.construction.constructionapi.SpringSecurity.Security; -import lombok.RequiredArgsConstructor; +import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import lombok.val; import org.springframework.security.core.Authentication; diff --git a/src/main/java/com/construction/constructionapi/SpringSecurity/config/SecurityConfig.java b/src/main/java/com/construction/constructionapi/SpringSecurity/config/SecurityConfig.java index fb2699e..09f49d6 100644 --- a/src/main/java/com/construction/constructionapi/SpringSecurity/config/SecurityConfig.java +++ b/src/main/java/com/construction/constructionapi/SpringSecurity/config/SecurityConfig.java @@ -39,9 +39,7 @@ protected void configure(HttpSecurity http) throws Exception { http.csrf().disable().authorizeRequests() // login 없이 접근 허용 하는 url .antMatchers("/auth/**").permitAll() - .antMatchers("/survey/**").permitAll() .antMatchers("/notice/**").permitAll() - .antMatchers("/unityContent/**").permitAll() // '/admin'의 경우 ADMIN 권한이 있는 사용자만 접근이 가능 .antMatchers("/admin").hasRole("ADMIN") // 그 외 모든 요청은 인증과정 필요