source: jobvista-backend/src/main/java/mk/ukim/finki/predmeti/internettehnologii/jobvistabackend/controllers/JobAdvertisementController.java@ 19398ad

main
Last change on this file since 19398ad was 19398ad, checked in by 223021 <daniel.ilievski.2@…>, 6 weeks ago

Implemented backend and frontend CRUD operations for job advertisements

  • Property mode set to 100644
File size: 2.7 KB
Line 
1package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.controllers;
2
3
4import lombok.AllArgsConstructor;
5import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO.JobAdvertisementDTO;
6import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.DTO.JobAdDetailsDTO;
7import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.job_advertisements.JobAdvertisement;
8import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.JobAdvertisementService;
9import org.springframework.http.HttpStatus;
10import org.springframework.http.ResponseEntity;
11import org.springframework.web.bind.annotation.*;
12
13import java.util.List;
14
15@RestController
16@RequestMapping("/api/job-advertisements")
17@AllArgsConstructor
18@CrossOrigin(origins = "*")
19public class JobAdvertisementController {
20
21 private final JobAdvertisementService jobAdvertisementService;
22
23 @PostMapping("/add")
24 public ResponseEntity<?> addJobAdvertisement(@RequestBody JobAdvertisementDTO jobAdvertisementDTO) {
25 JobAdDetailsDTO jobAdDetailsDTO = jobAdvertisementService.addJobAdvertisement(jobAdvertisementDTO);
26 return new ResponseEntity<>(jobAdDetailsDTO, HttpStatus.OK);
27 }
28
29 @PutMapping("/edit/{id}")
30 public ResponseEntity<?> editJobAdvertisement(@PathVariable Long id, @RequestBody JobAdvertisementDTO JobAdvertisementDTO) {
31 JobAdDetailsDTO jobAdDetailsDTO = jobAdvertisementService.editJobAdvertisement(id, JobAdvertisementDTO);
32 return new ResponseEntity<>(jobAdDetailsDTO, HttpStatus.OK);
33 }
34
35 @DeleteMapping("/delete/{id}")
36 public ResponseEntity<?> deleteJobAdvertisement(@PathVariable Long id) {
37 jobAdvertisementService.deleteJobAdvertisement(id);
38 return new ResponseEntity<>("Job Advertisement with id: "+ id + "deleted.", HttpStatus.OK);
39 }
40
41 @GetMapping("/recruiter/{id}")
42 public ResponseEntity<?> findALlJobAdvertisementsByRecruiterId(@PathVariable Long id) {
43 List<JobAdDetailsDTO> jobAdDetailsDTOS = jobAdvertisementService.findAllJobAdvertisementsByRecruiterId(id);
44 return new ResponseEntity<>(jobAdDetailsDTOS, HttpStatus.OK);
45 }
46
47 @GetMapping("/all")
48 public ResponseEntity<?> findAllJobAdvertisements() {
49 List<JobAdDetailsDTO> jobAdDetailsDTOS = jobAdvertisementService.findAllJobAdvertisements();
50 return new ResponseEntity<>(jobAdDetailsDTOS, HttpStatus.OK);
51 }
52
53 @GetMapping("/view/{id}")
54 public ResponseEntity<?> findJobAdvertisementById(@PathVariable Long id) {
55 JobAdDetailsDTO jobAdDetailsDTO = jobAdvertisementService.findJobAdvertisementById(id);
56 return new ResponseEntity<>(jobAdDetailsDTO, HttpStatus.OK);
57 }
58}
Note: See TracBrowser for help on using the repository browser.