Leo/Backend #82

Merged
Maxime merged 11 commits from Leo/Backend into master 2024-03-11 19:16:20 +01:00
3 changed files with 21 additions and 0 deletions
Showing only changes of commit 54c0f9069e - Show all commits

View File

@ -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);
}
}
same https://git.herisson.ovh/PGL/Clyde/pulls/82/files#issuecomment-1436
@DeleteMapping("/mock") @DeleteMapping("/mock")
public void deleteMock(){ public void deleteMock(){
for (User user:mockUsers){ for (User user:mockUsers){

View File

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

View File

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

ici aussi faudrait un >=

ici aussi faudrait un >=

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

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

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 ?

yup

yup