Leo/Backend #82

Merged
Maxime merged 11 commits from Leo/Backend into master 2024-03-11 19:16:20 +01:00
Owner

Ce merge enverra dans main : le timeout des token, la limite de 5 token par user, les nouvelles tables pour les demandes d'inscriptions

Ce merge enverra dans main : le timeout des token, la limite de 5 token par user, les nouvelles tables pour les demandes d'inscriptions
LeoMoulin added 5 commits 2024-03-09 12:41:57 +01:00
- Ajoute le champ profilePictureUrl dans les mocks
- utilisation de la méthode saveToken dans les mock
- changement de saveToken pour recevoir un token en paramètre
- crée la classe TokenCleaner qui gère le nettoyage des token (en faire une classe permet d'en avoir plusieurs instances qui run des timer en parallèle)
- première implémentation du timeout (need plus de tests)
- Suppression de TokenCleaner et déplacement de la fonction de suppression des token dans Token Service
- Implémentation fonctionnelle de la nouvelle stratégie de suppression des tokens :)
- Création de la table qui stocke les demandes d'inscriptions
All checks were successful
Build and test backend / Build-backend (pull_request) Successful in 2m3s
Build and test backend / Test-backend (pull_request) Successful in 2m0s
Build and test FrontEnd / Build-frontend (pull_request) Successful in 21s
02afc3df47
- Création de la table qui stocke les demandes de réinscription

- Création d'un enum pour les états des requetes
LeoMoulin requested review from tonitch 2024-03-09 14:27:33 +01:00
LeoMoulin requested review from Maxime 2024-03-09 14:27:33 +01:00
LeoMoulin requested review from Wal 2024-03-09 14:27:33 +01:00
LeoMoulin requested review from Owners 2024-03-09 14:27:33 +01:00
LeoMoulin removed review request for Owners 2024-03-09 14:27:36 +01:00
tonitch requested changes 2024-03-09 14:57:39 +01:00
tonitch left a comment
Owner

Quelques petit changement et les test à déplacer sinon ça me semble bon

Quelques petit changement et les test à déplacer sinon ça me semble bon
@ -55,0 +63,4 @@
}else{
tokenService.saveToken(new Token(user,user.getPassword(), new Date()));
}
Owner

Junit est installé normalement, ça serait mieux de faire ce genre de chose dans les test !
(Et en plus ça peut rester vu que on sera noté dessu)

Junit est installé normalement, ça serait mieux de faire ce genre de chose dans les test ! (Et en plus ça peut rester vu que on sera noté dessu)
Author
Owner

J'ai essayé et j'avoues galérer un peu a setup les tests unitaires sur la DB, je vais m'y mettre demain a tête reposée en attendant je nettoies les tests et je les referai propres !

J'ai essayé et j'avoues galérer un peu a setup les tests unitaires sur la DB, je vais m'y mettre demain a tête reposée en attendant je nettoies les tests et je les referai propres !
Owner

en vrai au pire c'est pas grave mais je ne pense pas que ça ai sa place dans le projet final, genre il faut juste pas le commit et le garder ailleur quoi ^^

en vrai au pire c'est pas grave mais je ne pense pas que ça ai sa place dans le projet final, genre il faut juste pas le commit et le garder ailleur quoi ^^
Author
Owner

entiérement d'accord j'aurai du le nettoyer

entiérement d'accord j'aurai du le nettoyer
@ -58,0 +77,4 @@
c.add(Calendar.DAY_OF_YEAR, 1);
tokenService.saveToken(t);
}
}
Owner
same https://git.herisson.ovh/PGL/Clyde/pulls/82/files#issuecomment-1436
@ -37,0 +48,4 @@
public void autoDeleteToken() {
for (Token t: tokenRepo.findAll()){
Calendar cal = Calendar.getInstance();
cal.setTime(new Date());
Owner

Calendar.getInstance retourne déjà l'instant ou il est crée
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Calendar.html

Calendar.getInstance retourne déjà l'instant ou il est crée https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Calendar.html
Author
Owner

C'est bien vu ca

C'est bien vu ca
@ -37,0 +52,4 @@
Calendar cal2 = Calendar.getInstance();
cal2.setTime(t.getExpirationDate());
if (cal.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) && cal.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR)){
Owner

peut être faire des >= au lieu des == pour éviter que le programme ne passe au dessus si imaginons le serveur est fermé pendant 2 jours

Mais encore mieux tu pourrais comparer les deux Calendar avec la fonction ´.compareTo(Calendar)`
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Calendar.html#compareTo(java.util.Calendar) et juste voir si le résultat est négatif

peut être faire des >= au lieu des == pour éviter que le programme ne passe au dessus si imaginons le serveur est fermé pendant 2 jours Mais encore mieux tu pourrais comparer les deux `Calendar` avec la fonction ´.compareTo(Calendar)` https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Calendar.html#compareTo(java.util.Calendar) et juste voir si le résultat est négatif
Author
Owner

Excellente remarque ! Ca sera changé dans mon prochain commit !

Excellente remarque ! Ca sera changé dans mon prochain commit !
Maxime marked this conversation as resolved
@ -15,2 +19,3 @@
private Date expirationDate;
public Token(User user, String token){
public Token(User user, String token, Date expirationDate){
Owner

ça serrait cool de donner une valeur par défault, comme ça on ne doit pas toujours l'envoyer quand on se connecte

ça serrait cool de donner une valeur par défault, comme ça on ne doit pas toujours l'envoyer quand on se connecte
Owner

c'est le frontend qui doit nous la donner cette valeur par défaut. (en fct de si leuser veux rester connecté ou non
)

c'est le frontend qui doit nous la donner cette valeur par défaut. (en fct de si leuser veux rester connecté ou non )
Owner

Cringe... but ok

Cringe... but ok
tonitch added 1 commit 2024-03-09 15:08:21 +01:00
Merge branch 'master' into Leo/Backend
All checks were successful
Build and test backend / Build-backend (pull_request) Successful in 2m0s
Build and test backend / Test-backend (pull_request) Successful in 1m59s
Build and test FrontEnd / Build-frontend (pull_request) Successful in 23s
d8a6d06b7a
LeoMoulin changed title from Leo/Backend to WIP: Leo/Backend 2024-03-09 15:58:47 +01:00
LeoMoulin added 2 commits 2024-03-09 19:33:16 +01:00
Ajusting small things
All checks were successful
Build and test backend / Build-backend (pull_request) Successful in 2m1s
Build and test backend / Test-backend (pull_request) Successful in 2m1s
Build and test FrontEnd / Build-frontend (pull_request) Successful in 23s
dcf5b26b05
tonitch approved these changes 2024-03-09 19:36:07 +01:00
Dismissed
tonitch left a comment
Owner

image

![image](/attachments/06e355bd-80de-4cd4-99bf-890c1eb6e509)
LeoMoulin changed title from WIP: Leo/Backend to Leo/Backend 2024-03-09 21:09:18 +01:00
Maxime reviewed 2024-03-10 11:26:34 +01:00
@ -0,0 +4,4 @@
import java.util.Date;
public class InscriptionRequest {
Owner

il manque pas le pdf du CESS dedans ?

il manque pas le pdf du CESS dedans ?
Owner

(je dirais que dans un premier temps sans l'upload on peut très bien commit ainsi ? Peut être mettre un todo)

(je dirais que dans un premier temps sans l'upload on peut très bien commit ainsi ? Peut être mettre un todo)
Owner

oui tout à fait mais il faut pas oublier le champs d'où le comm

oui tout à fait mais il faut pas oublier le champs d'où le comm
Author
Owner

Je penses que c'est dans mon extension donc je l'ai pas mis ! Peut être mb ?

Je penses que c'est dans mon extension donc je l'ai pas mis ! Peut être mb ?
Owner

dans le doute mets le nan ?(du moins au moins le todo)

dans le doute mets le nan ?(du moins au moins le todo)
Maxime approved these changes 2024-03-10 22:31:34 +01:00
Dismissed
Maxime left a comment
Owner

LGTM

LGTM
Maxime requested changes 2024-03-10 23:25:32 +01:00
Maxime left a comment
Owner

du coup j'ai un peu mieux check (oups )

et j'ai juste 2 remarques

du coup j'ai un peu mieux check (oups ) et j'ai juste 2 remarques
@ -44,0 +42,4 @@
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){
Owner

ici aussi faudrait un >=

ici aussi faudrait un >=
Author
Owner

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
Owner

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
Author
Owner

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 ?
Owner

yup

yup
@ -0,0 +20,4 @@
//Permet de différencier les demandes de changement et une réinscription dans le même cursus
//Pour la réinscription on va le mettre a 0
private boolean type;
Owner

je comprends pas à quoi type sert (dans le sens où : pourquoi on devrai différencier les demande de réinscriptions dans le même cursus ou non ?)

et le nom " type" est fort abstrait

je comprends pas à quoi type sert (dans le sens où : pourquoi on devrai différencier les demande de réinscriptions dans le même cursus ou non ?) et le nom " type" est fort abstrait
Author
Owner

parceque que j'aimerai bien pouvoir séparer les deux dans l'interface par la suite mais que leurs données sont similaires donc j'ai utilisé ca pour les différencier dans la même table ! Je suis d'accord que le nom est fort abstrait on pourrait envisager un truc comme isCursusChange.

parceque que j'aimerai bien pouvoir séparer les deux dans l'interface par la suite mais que leurs données sont similaires donc j'ai utilisé ca pour les différencier dans la même table ! Je suis d'accord que le nom est fort abstrait on pourrait envisager un truc comme isCursusChange.
Owner

par pitié fais de l'héritage alors en séparant cursus change et réorientation

par pitié fais de l'héritage alors en séparant cursus change et réorientation
Author
Owner

mais le but c'est justement de pas avoir deux tables pour deux données qui ont les mêmes attributs

mais le but c'est justement de pas avoir deux tables pour deux données qui ont les mêmes attributs
Owner
https://www.baeldung.com/hibernate-inheritance
LeoMoulin added 1 commit 2024-03-11 11:18:02 +01:00
Adjusting les trucs que Max a demandé
All checks were successful
Build and test backend / Build-backend (pull_request) Successful in 2m6s
Build and test backend / Test-backend (pull_request) Successful in 1m56s
Build and test FrontEnd / Build-frontend (pull_request) Successful in 25s
cfc6c59684
LeoMoulin dismissed tonitch’s review 2024-03-11 11:18:02 +01:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

LeoMoulin dismissed Maxime’s review 2024-03-11 11:18:03 +01:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

tonitch approved these changes 2024-03-11 11:20:36 +01:00
tonitch left a comment
Owner

C'est bo

C'est bo
Maxime approved these changes 2024-03-11 16:03:24 +01:00
Maxime left a comment
Owner

image

![image](/attachments/a516b2f7-70df-4982-bf9d-303c5163175b)
tonitch added 1 commit 2024-03-11 16:06:13 +01:00
Merge branch 'master' into Leo/Backend
All checks were successful
Build and test backend / Build-backend (pull_request) Successful in 2m1s
Build and test backend / Test-backend (pull_request) Successful in 1m59s
Build and test FrontEnd / Build-frontend (pull_request) Successful in 23s
d19bbe7188
tonitch scheduled this pull request to auto merge when all checks succeed 2024-03-11 16:06:35 +01:00
LeoMoulin added 1 commit 2024-03-11 18:21:23 +01:00
Merge branch 'master' into Leo/Backend
All checks were successful
Build and test backend / Build-backend (pull_request) Successful in 2m1s
Build and test backend / Test-backend (pull_request) Successful in 1m58s
Build and test FrontEnd / Build-frontend (pull_request) Successful in 24s
691037fb7d
Wal approved these changes 2024-03-11 18:40:53 +01:00
Wal left a comment
Owner

Je suis sur téléphone et c'est chiant à mourir deval la dessus alors je trust

Je suis sur téléphone et c'est chiant à mourir deval la dessus alors je trust
Maxime merged commit d4c48ee9f1 into master 2024-03-11 19:16:20 +01:00
Maxime deleted branch Leo/Backend 2024-03-11 19:16:20 +01:00
Maxime referenced this issue from a commit 2024-03-11 19:16:20 +01:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: PGL/Clyde#82
No description provided.