[d8b6c91] | 1 | package mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.controllers;
|
---|
| 2 |
|
---|
| 3 | import lombok.AllArgsConstructor;
|
---|
| 4 | import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.DTO.*;
|
---|
| 5 | import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.JobSeeker;
|
---|
| 6 | import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.Recruiter;
|
---|
| 7 | import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.mappers.JobSeekerMapper;
|
---|
| 8 | import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.models.users.mappers.RecruiterMapper;
|
---|
| 9 | import mk.ukim.finki.predmeti.internettehnologii.jobvistabackend.service.intef.AuthService;
|
---|
| 10 | import org.springframework.http.HttpStatus;
|
---|
| 11 | import org.springframework.http.ResponseEntity;
|
---|
| 12 | import org.springframework.web.bind.annotation.*;
|
---|
| 13 |
|
---|
| 14 | @RestController
|
---|
| 15 | @RequestMapping("/api/auth")
|
---|
| 16 | @AllArgsConstructor
|
---|
[19398ad] | 17 | @CrossOrigin(origins = "*")
|
---|
[d8b6c91] | 18 | public class AuthController {
|
---|
| 19 |
|
---|
| 20 | private final AuthService authenticationService;
|
---|
| 21 |
|
---|
| 22 | @PostMapping("/signup/job-seeker")
|
---|
| 23 | public ResponseEntity<?> signUpJobSeeker(@RequestBody JobSeekerDTO jobSeekerDTO) {
|
---|
| 24 | JobSeeker jobSeeker = JobSeekerMapper.mapToJobSeeker(jobSeekerDTO);
|
---|
| 25 | authenticationService.signUpJobSeeker(jobSeeker);
|
---|
| 26 | return new ResponseEntity<>(jobSeeker, HttpStatus.CREATED);
|
---|
| 27 | }
|
---|
| 28 |
|
---|
| 29 | @PostMapping("/signup/recruiter")
|
---|
| 30 | public ResponseEntity<?> signUpRecruiter(@RequestBody RecruiterDTO recruiterDTO) {
|
---|
| 31 | Recruiter recruiter = RecruiterMapper.mapToRecruiter(recruiterDTO);
|
---|
| 32 | authenticationService.signUpRecruiter(recruiter);
|
---|
| 33 | return new ResponseEntity<>(recruiter, HttpStatus.CREATED);
|
---|
| 34 | }
|
---|
| 35 |
|
---|
| 36 | @PostMapping("/signin")
|
---|
| 37 | public ResponseEntity<JwtAuthResponse> signIn(@RequestBody SignInDTO signInDTO) {
|
---|
| 38 | return ResponseEntity.ok(authenticationService.signIn(signInDTO));
|
---|
| 39 | }
|
---|
| 40 | @PostMapping("/refresh")
|
---|
| 41 | public ResponseEntity<JwtAuthResponse> refresh(@RequestBody RefreshTokenRequest refreshTokenRequest) {
|
---|
| 42 | return ResponseEntity.ok(authenticationService.refreshToken(refreshTokenRequest));
|
---|
| 43 | }
|
---|
| 44 | }
|
---|