diff --git a/pom.xml b/pom.xml index 2194186..ae0b196 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ _11.asktpk ArtisanConnectBackend - 0.0.1-SNAPSHOT + 1.0.0 ArtisanConnectBackend ArtisanConnectBackend @@ -34,31 +34,16 @@ org.springframework.boot spring-boot-starter-data-jpa - - org.springframework.boot - spring-boot-starter-data-rest - - - - - org.springframework.boot spring-boot-starter-web - org.springframework.boot spring-boot-devtools runtime true - - - - - - org.postgresql postgresql @@ -73,15 +58,10 @@ org.springframework.boot spring-boot-starter-actuator - - - - - com.squareup.okhttp3 okhttp - 4.9.3 + 4.12.0 org.projectlombok @@ -93,11 +73,6 @@ jakarta.validation-api 3.1.0 - - - - - diff --git a/src/main/java/_11/asktpk/artisanconnectbackend/controller/NoticeController.java b/src/main/java/_11/asktpk/artisanconnectbackend/controller/NoticeController.java index fcafd7c..63bea89 100644 --- a/src/main/java/_11/asktpk/artisanconnectbackend/controller/NoticeController.java +++ b/src/main/java/_11/asktpk/artisanconnectbackend/controller/NoticeController.java @@ -1,6 +1,8 @@ package _11.asktpk.artisanconnectbackend.controller; import _11.asktpk.artisanconnectbackend.dto.NoticeAdditionDTO; +import _11.asktpk.artisanconnectbackend.dto.NoticeBoostDTO; +import _11.asktpk.artisanconnectbackend.dto.RequestResponseDTO; import _11.asktpk.artisanconnectbackend.service.ClientService; import _11.asktpk.artisanconnectbackend.service.NoticeService; import _11.asktpk.artisanconnectbackend.dto.NoticeDTO; @@ -29,7 +31,7 @@ public class NoticeController { } @GetMapping("/get/{id}") - public ResponseEntity getNoticeById(@PathVariable long id) { + public ResponseEntity getNoticeById(@PathVariable long id) { if (noticeService.noticeExists(id)) { return ResponseEntity.ok(noticeService.getNoticeById(id)); } else { @@ -98,23 +100,22 @@ public class NoticeController { } @DeleteMapping("/delete/{id}") - public ResponseEntity deleteNotice(@PathVariable("id") long id) { + public ResponseEntity deleteNotice(@PathVariable("id") long id) { if (noticeService.noticeExists(id)) { noticeService.deleteNotice(id); - return new ResponseEntity<>(HttpStatus.OK); + return ResponseEntity.status(HttpStatus.OK).body(new RequestResponseDTO("Pomyślnie usunięto ogłoszenie o ID: " + id)); } else { - return new ResponseEntity<>(HttpStatus.NOT_FOUND); + return ResponseEntity.status(HttpStatus.NOT_FOUND).body(new RequestResponseDTO("Nie znaleziono ogłoszenia o ID: " + id)); } } @PostMapping("/boost/{id}") - public ResponseEntity boostNotice(@PathVariable("id") long id) { - long clientId = 1L; - if (!noticeService.isNoticeOwnedByClient(id, clientId)) { - throw new EntityNotFoundException("Ogłoszenie nie istnieje lub nie należy do zalogowanego klienta."); + public ResponseEntity boostNotice(@PathVariable("id") long clientId, @RequestBody NoticeBoostDTO dto) { + if (!noticeService.isNoticeOwnedByClient(dto.getNoticeId(), clientId)) { + return ResponseEntity.status(HttpStatus.NOT_FOUND).body(new RequestResponseDTO("Ogłoszenie nie istnieje lub nie należy do zalogowanego klienta.")); } - noticeService.boostNotice(id); + noticeService.boostNotice(dto.getNoticeId()); - return ResponseEntity.ok("Ogłoszenie zostało pomyślnie wypromowane."); + return ResponseEntity.status(HttpStatus.OK).body(new RequestResponseDTO("Ogłoszenie zostało pomyślnie wypromowane.")); } } diff --git a/src/main/java/_11/asktpk/artisanconnectbackend/dto/NoticeBoostDTO.java b/src/main/java/_11/asktpk/artisanconnectbackend/dto/NoticeBoostDTO.java new file mode 100644 index 0000000..d008dcc --- /dev/null +++ b/src/main/java/_11/asktpk/artisanconnectbackend/dto/NoticeBoostDTO.java @@ -0,0 +1,9 @@ +package _11.asktpk.artisanconnectbackend.dto; + +import lombok.Getter; +import lombok.Setter; + +@Getter @Setter +public class NoticeBoostDTO { + private Long noticeId; +}