get one notice by id
This commit is contained in:
@@ -21,11 +21,20 @@ public class NoticeController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ClientService clientService;
|
private ClientService clientService;
|
||||||
|
|
||||||
@GetMapping("/all")
|
@GetMapping("/get/all")
|
||||||
public List<NoticeDTO> getAllNotices() {
|
public List<NoticeDTO> getAllNotices() {
|
||||||
return noticeService.getAllNotices();
|
return noticeService.getAllNotices();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/get/{id}")
|
||||||
|
public ResponseEntity getNoticeById(@PathVariable long id) {
|
||||||
|
if (noticeService.noticeExists(id)) {
|
||||||
|
return ResponseEntity.ok(noticeService.getNoticeById(id));
|
||||||
|
} else {
|
||||||
|
return ResponseEntity.notFound().build();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/add")
|
@PostMapping("/add")
|
||||||
public ResponseEntity<String> addNotice(@RequestBody NoticeDTO dto) {
|
public ResponseEntity<String> addNotice(@RequestBody NoticeDTO dto) {
|
||||||
if (!clientService.clientExists(dto.getClientId())) {
|
if (!clientService.clientExists(dto.getClientId())) {
|
||||||
|
|||||||
@@ -65,6 +65,12 @@ public class NoticeService {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public NoticeDTO getNoticeById(Long id) {
|
||||||
|
Notice notice = noticeRepository.findById(id)
|
||||||
|
.orElseThrow(() -> new EntityNotFoundException("Nie znaleziono ogłoszenia o ID: " + id));
|
||||||
|
return toDTO(notice);
|
||||||
|
}
|
||||||
|
|
||||||
public void addNotice(Notice notice) {
|
public void addNotice(Notice notice) {
|
||||||
noticeRepository.save(notice);
|
noticeRepository.save(notice);
|
||||||
}
|
}
|
||||||
@@ -73,34 +79,32 @@ public class NoticeService {
|
|||||||
return noticeRepository.existsById(id);
|
return noticeRepository.existsById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public NoticeDTO updateNotice(Long id, NoticeDTO dto) {
|
public NoticeDTO updateNotice(Long id, NoticeDTO dto) {
|
||||||
Notice existingNotice = noticeRepository.findById(id)
|
Notice existingNotice = noticeRepository.findById(id)
|
||||||
.orElseThrow(() -> new EntityNotFoundException("Nie znaleziono ogłoszenia o ID: " + id));
|
.orElseThrow(() -> new EntityNotFoundException("Nie znaleziono ogłoszenia o ID: " + id));
|
||||||
|
|
||||||
existingNotice.setTitle(dto.getTitle());
|
existingNotice.setTitle(dto.getTitle());
|
||||||
existingNotice.setDescription(dto.getDescription());
|
existingNotice.setDescription(dto.getDescription());
|
||||||
existingNotice.setPrice(dto.getPrice());
|
existingNotice.setPrice(dto.getPrice());
|
||||||
existingNotice.setCategory(dto.getCategory());
|
existingNotice.setCategory(dto.getCategory());
|
||||||
existingNotice.setImages(dto.getImages());
|
existingNotice.setImages(dto.getImages());
|
||||||
existingNotice.setStatus(dto.getStatus());
|
existingNotice.setStatus(dto.getStatus());
|
||||||
existingNotice.setAttributesNotices(dto.getAttributesNotices());
|
existingNotice.setAttributesNotices(dto.getAttributesNotices());
|
||||||
|
|
||||||
if (dto.getClientId() != null && !dto.getClientId().equals(existingNotice.getClient().getId())) {
|
if (dto.getClientId() != null && !dto.getClientId().equals(existingNotice.getClient().getId())) {
|
||||||
Client client = clientRepository.findById(dto.getClientId())
|
Client client = clientRepository.findById(dto.getClientId())
|
||||||
.orElseThrow(() -> new EntityNotFoundException("Nie znaleziono klienta o ID: " + dto.getClientId()));
|
.orElseThrow(() -> new EntityNotFoundException("Nie znaleziono klienta o ID: " + dto.getClientId()));
|
||||||
existingNotice.setClient(client);
|
existingNotice.setClient(client);
|
||||||
|
}
|
||||||
|
|
||||||
|
return toDTO(noticeRepository.save(existingNotice));
|
||||||
}
|
}
|
||||||
|
|
||||||
return toDTO(noticeRepository.save(existingNotice));
|
public void deleteNotice(Long id) {
|
||||||
}
|
if (noticeExists(id)) {
|
||||||
|
noticeRepository.deleteById(id);
|
||||||
public void deleteNotice(Long id) {
|
} else {
|
||||||
if (noticeExists(id)) {
|
throw new EntityNotFoundException("Nie znaleziono ogłoszenia o ID: " + id);
|
||||||
noticeRepository.deleteById(id);
|
}
|
||||||
} else {
|
|
||||||
throw new EntityNotFoundException("Nie znaleziono ogłoszenia o ID: " + id);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user