package ru.soune.no_copy.controller; import jakarta.validation.Valid; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import ru.soune.no_copy.dto.AuthResponse; import ru.soune.no_copy.dto.LoginRequest; import ru.soune.no_copy.dto.LoginResponse; import ru.soune.no_copy.dto.RegisterRequest; import ru.soune.no_copy.entity.AuthToken; import ru.soune.no_copy.service.AuthService; @RestController @RequestMapping("/api/auth") @RequiredArgsConstructor public class AuthController { private final AuthService authService; @PostMapping("/register") public ResponseEntity register(@Valid @RequestBody RegisterRequest registerRequest) { AuthToken authToken = authService.register(registerRequest); return ResponseEntity.ok(new AuthResponse(true, "success.user.register", authToken.getToken(), authToken.getExpiresAt())); } @PostMapping("/login") public ResponseEntity login(@Valid @RequestBody LoginRequest request) { AuthToken login = authService.login(request); return ResponseEntity.ok(new LoginResponse(true, login.getUser().getEmail(), login.getToken(),login.getExpiresAt().toString())); } }