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); } }