Leo/Backend #82
@ -67,6 +67,17 @@ public class MockController {
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    //Nous allons donner des tokens a herobrine pour tester la limite de token
 | 
				
			||||||
 | 
					    @PostMapping("/herobrine")
 | 
				
			||||||
 | 
					    public void giveHerobrineTokens(){
 | 
				
			||||||
 | 
					        User herobrine = userRepo.findById(1);
 | 
				
			||||||
 | 
					        Calendar c = Calendar.getInstance();
 | 
				
			||||||
 | 
					        for (int i = 1; i <= 7; i++){
 | 
				
			||||||
 | 
					            Token t = new Token(herobrine, herobrine.getPassword(), c.getTime());
 | 
				
			||||||
 | 
					            c.add(Calendar.DAY_OF_YEAR, 1);
 | 
				
			||||||
 | 
					            tokenService.saveToken(t);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
| 
						
							
	
	
	
	
	
	
	
	 | 
				|||||||
    @DeleteMapping("/mock")
 | 
					    @DeleteMapping("/mock")
 | 
				
			||||||
    public void deleteMock(){
 | 
					    public void deleteMock(){
 | 
				
			||||||
        for (User user:mockUsers){
 | 
					        for (User user:mockUsers){
 | 
				
			||||||
 | 
				
			|||||||
@ -4,9 +4,13 @@ import org.springframework.data.repository.CrudRepository;
 | 
				
			|||||||
import ovh.herisson.Clyde.Tables.Token;
 | 
					import ovh.herisson.Clyde.Tables.Token;
 | 
				
			||||||
import ovh.herisson.Clyde.Tables.User;
 | 
					import ovh.herisson.Clyde.Tables.User;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public interface TokenRepository extends CrudRepository<Token,Long> {
 | 
					public interface TokenRepository extends CrudRepository<Token,Long> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Token getByToken(String token);
 | 
					    Token getByToken(String token);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    Iterable<Token> getByUser(User user);
 | 
					    Iterable<Token> getByUser(User user);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ArrayList <Token> getByUserOrderByExpirationDate(User user);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -8,6 +8,7 @@ import ovh.herisson.Clyde.Tables.User;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import java.nio.charset.StandardCharsets;
 | 
					import java.nio.charset.StandardCharsets;
 | 
				
			||||||
import java.security.SecureRandom;
 | 
					import java.security.SecureRandom;
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
import java.util.Calendar;
 | 
					import java.util.Calendar;
 | 
				
			||||||
import java.util.Date;
 | 
					import java.util.Date;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -34,6 +35,11 @@ public class TokenService {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public void saveToken(Token token){
 | 
					    public void saveToken(Token token){
 | 
				
			||||||
 | 
					        //Si l'utilisateur a déja 5 token delete celui qui devait expirer le plus vite
 | 
				
			||||||
 | 
					        ArrayList<Token> tokenList = tokenRepo.getByUserOrderByExpirationDate(token.getUser());
 | 
				
			||||||
 | 
					        if (tokenList.size() == 5){
 | 
				
			||||||
 | 
					            tokenRepo.delete(tokenList.get(0));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
        tokenRepo.save(token);
 | 
					        tokenRepo.save(token);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						
							
	
	
	
	
	
	
	
	 
				
					
						Maxime
						commented  
			
		ici aussi faudrait un >= ici aussi faudrait un >= 
			
			
		
				
					
						LeoMoulin
						commented  
			
		ban pas vraiment je penses vu que ca s'execute forcément a chaque fois qu'on save un token ! En plus si on permet le >= alors ca casse la limite de 5 ban pas vraiment je penses vu que ca s'execute forcément a chaque fois qu'on save un token ! En plus si on permet le >= alors ca casse la limite de 5 
			
			
		
				
					
						tonitch
						commented  
			
		Ca permet d'éviter les problème, genre imagine à un moment sans faire attention on va dans la db et on ajoute un token. bha du coup ça crée des tokens à l'infini. si tu met >= au moins t'es tranquil et ça casse pas la limite vu que quand ça passe à 5 ça supprimer quand même Ca permet d'éviter les problème, genre imagine à un moment sans faire attention on va dans la db et on ajoute un token. bha du coup ça crée des tokens à l'infini. si tu met >= au moins t'es tranquil et ça casse pas la limite vu que quand ça passe à 5 ça supprimer quand même 
			
			
		
				
					
						LeoMoulin
						commented  
			
		bah alors je peux faire un truc encore plus safe et en delete jusqua ce qu'il en reste 5 comme ca quoi qu'il arrive c'est bon ! De toute manière c'est juste une boucle a ajouter. Ca vous convient ? bah alors je peux faire un truc encore plus safe et en delete jusqua ce qu'il en reste 5 comme ca quoi qu'il arrive c'est bon ! De toute manière c'est juste une boucle a ajouter. Ca vous convient ? 
			
			
		
				
					
						Maxime
						commented  
			
		yup yup 
			
			
		 | 
				|||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user
	
same https://git.herisson.ovh/PGL/Clyde/pulls/82/files#issuecomment-1436