added Token and User Services
This commit is contained in:
		| @ -0,0 +1,36 @@ | |||||||
|  | package ovh.herisson.Clyde.Services; | ||||||
|  |  | ||||||
|  | import org.springframework.stereotype.Service; | ||||||
|  | import ovh.herisson.Clyde.Repositories.TokenRepository; | ||||||
|  | import ovh.herisson.Clyde.Tables.Token; | ||||||
|  | import ovh.herisson.Clyde.Tables.User; | ||||||
|  |  | ||||||
|  | import java.nio.charset.StandardCharsets; | ||||||
|  | import java.security.SecureRandom; | ||||||
|  | import java.util.Date; | ||||||
|  |  | ||||||
|  | @Service | ||||||
|  | public class TokenService { | ||||||
|  |  | ||||||
|  |     TokenRepository tokenRepo; | ||||||
|  |  | ||||||
|  |     public TokenService(TokenRepository tokenRepo){ | ||||||
|  |         this.tokenRepo = tokenRepo; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     public String generateNewToken(){ | ||||||
|  |         byte[] bytes = new byte[64]; | ||||||
|  |         new SecureRandom().nextBytes(bytes); | ||||||
|  |         String token = new String(bytes, StandardCharsets.US_ASCII); | ||||||
|  |         System.out.println(token); | ||||||
|  |         return token; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     //todo potentiellement return bool pour savoir si token bien add | ||||||
|  |     public void saveToken(String token, User user, Date expirationDate){ | ||||||
|  |         tokenRepo.save(new Token(user,token)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,36 @@ | |||||||
|  | package ovh.herisson.Clyde.Services; | ||||||
|  |  | ||||||
|  | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | ||||||
|  | import org.springframework.stereotype.Service; | ||||||
|  | import ovh.herisson.Clyde.Repositories.UserRepository; | ||||||
|  | import ovh.herisson.Clyde.Tables.User; | ||||||
|  |  | ||||||
|  | @Service | ||||||
|  | public class UserService { | ||||||
|  |  | ||||||
|  |     private final UserRepository userRepo; | ||||||
|  |     private final BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     public UserService(UserRepository userRepo){ | ||||||
|  |         this.userRepo = userRepo; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     public User getUser(String identifier){ | ||||||
|  |         if (identifier == null) return null; | ||||||
|  |         try { | ||||||
|  |             int id = Integer.parseInt(identifier); | ||||||
|  |             return userRepo.findById(id); | ||||||
|  |         } | ||||||
|  |         catch (NumberFormatException nfe){ | ||||||
|  |             return userRepo.findByEmail(identifier); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     public boolean checkPassword(User user, String tryingPassword){ | ||||||
|  |         return passwordEncoder.matches(tryingPassword,  user.getPassword()); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user