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 | @CrossOrigin(origins = "*")
|
---|
15 | @RestController
|
---|
16 | @RequestMapping("/api/auth")
|
---|
17 | @AllArgsConstructor
|
---|
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 | }
|
---|