Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

@RestController
@RequestMapping("/notice")
@Transactional
public class NoticeController {

@Autowired
Expand Down Expand Up @@ -47,14 +46,7 @@ public ResponseEntity<List<Notice>> titleNotice(@PathVariable String title){
return ResponseEntity.ok().body(noticeService.titleNotice(title));
}

// 공지사항 내용 검색
@GetMapping("/content/{content}")
public ResponseEntity<List<Notice>> contentNotice(@PathVariable String content){
return ResponseEntity.ok().body(noticeService.contentNotice(content));
}

// 공지사항 작성자 검색
// 수정 필요
@GetMapping("writer/{id}")
public ResponseEntity<List<Notice>> writerNotice(@PathVariable String id){
return ResponseEntity.ok().body(noticeService.writerNotice(id));
Expand Down Expand Up @@ -91,8 +83,8 @@ public ResponseEntity<String> addNotice(HttpServletRequest request,

// 공지사항 수정
@PostMapping("/update")
public ResponseEntity<String> updateNotice(@RequestBody NoticeUpdateDTO noticeWriteDTO){
noticeService.updateNotice(noticeWriteDTO);
public ResponseEntity<String> updateNotice(@RequestBody NoticeUpdateDTO noticeUpdateDTO){
noticeService.updateNotice(noticeUpdateDTO);
return ResponseEntity.ok().body("success");
}

Expand All @@ -102,39 +94,4 @@ public ResponseEntity<String> deleteNotice(@PathVariable int id){
noticeService.deleteNotice(id);
return ResponseEntity.ok().body("success");
}





@GetMapping(value = "/check/{id}")
public ResponseEntity<String> 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");
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
@Getter
@Setter
public class NoticeUpdateDTO {
private int notice_id;
private int id;
private String title;
private String content;
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ public interface NoticeRepository extends JpaRepository<Notice, Long> {

void deleteById(int id);
Notice findById(int id);
List<Notice> findAllByUserID(String id);
List<Notice> findAllByTitleContaining(String title);
List<Notice> findAllByContentContaining(String content);
List<Notice> findAllByOrderByIdDesc();
List<Notice> findAllByUserIDOrderByIdDesc(String id);
List<Notice> findAllByTitleContainingOrderByIdDesc(String title);

}
Original file line number Diff line number Diff line change
Expand Up @@ -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<Notice> allNotice(){
return noticeRepository.findAll();
return noticeRepository.findAllByOrderByIdDesc();
}

// 공지사항 상세 내용 조회
Expand All @@ -58,18 +58,11 @@ public Notice noticeContent(int id){
}

// 공지사항 제목 검색
public List<Notice> titleNotice(String title){
return noticeRepository.findAllByTitleContaining(title);
}

// 공지사항 내용 검색
public List<Notice> contentNotice(String content){
return noticeRepository.findAllByContentContaining(content);
}
public List<Notice> titleNotice(String title){ return noticeRepository.findAllByTitleContainingOrderByIdDesc(title); }

// 공지사항 작성자 검색
public List<Notice> writerNotice(String id){
return noticeRepository.findAllByUserID(id);
return noticeRepository.findAllByUserIDOrderByIdDesc(id);
}

// 공지사항 학제
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import lombok.Getter;

@Getter
@AllArgsConstructor
@AllArgsConstructor // Setter를 사용하지 않아 기본으로 초기화 시켜줌
public class JwtResponseDTO {
private String accessToken;
}
Original file line number Diff line number Diff line change
@@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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")
// 그 외 모든 요청은 인증과정 필요
Expand Down