ohctechv3/.svn/pristine/75/75eea1b358bc9ee76ce52f91d19fa940a10141e9.svn-base
2024-10-28 15:03:36 +05:30

45 lines
1.6 KiB
Plaintext

package com.healthcare.ohctech.controller;
import com.healthcare.ohctech.dto.LoginDto;
import com.healthcare.ohctech.dto.LoginResponseDto;
import com.healthcare.ohctech.dto.RegisterDto;
import com.healthcare.ohctech.service.impl.AuthServiceImpl;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/auth")
public class AuthenticationController {
private AuthServiceImpl authServiceImpl;
public AuthenticationController(AuthServiceImpl authServiceImpl) {
this.authServiceImpl = authServiceImpl;
}
@PostMapping("/register")
public ResponseEntity<?> register(@RequestBody RegisterDto registerDto) {
try {
authServiceImpl.register(registerDto);
} catch (Exception ex) {
return new ResponseEntity<>(ex.getMessage(), HttpStatus.BAD_REQUEST);
}
return new ResponseEntity<>("Success", HttpStatus.CREATED);
}
@PostMapping("/login")
public LoginResponseDto login(@RequestBody LoginDto loginDto) {
LoginResponseDto loginResponseDto = authServiceImpl.login(loginDto);
return loginResponseDto;
}
@PostMapping("/refresh")
public ResponseEntity<String> getTokenByRefreshToken(@RequestParam Integer userId) {
String token = authServiceImpl.getTokenByRefreshToken(userId);
if (token == null || token.isEmpty()) {
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
return new ResponseEntity<>(token, HttpStatus.OK);
}
}