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;
+}