41 lines
1.1 KiB
Java
41 lines
1.1 KiB
Java
package com.pmu.betengine.service;
|
|
|
|
import com.pmu.betengine.model.AuthRequest;
|
|
import com.pmu.betengine.model.AuthResponse;
|
|
import com.pmu.betengine.model.User;
|
|
import com.pmu.betengine.repository.UserRepository;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.time.LocalDateTime;
|
|
|
|
@Service
|
|
public class AuthService {
|
|
|
|
private final UserRepository userRepository;
|
|
@Autowired
|
|
private PasswordEncoder passwordEncoder;
|
|
|
|
public AuthService(UserRepository userRepository) {
|
|
this.userRepository = userRepository;
|
|
}
|
|
|
|
|
|
|
|
|
|
public User login(AuthRequest request) {
|
|
User user = userRepository.findByIdentifiant(request.getIdentifiant())
|
|
.orElseThrow(() -> new RuntimeException("User not found"));
|
|
|
|
if (!passwordEncoder.matches(request.getPassword(), user.getPassword())) {
|
|
throw new RuntimeException("Invalid credentials");
|
|
}
|
|
|
|
user.setDerniereConnexion(LocalDateTime.now());
|
|
return userRepository.save(user);
|
|
}
|
|
|
|
}
|