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

main
Last change on this file was 08f82ec, checked in by 223021 <daniel.ilievski.2@…>, 9 days ago

Did more refactoring

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