diff --git a/FencerJudgeBack/README.md b/FencerJudgeBack/README.md index ad94450..b1fb3c6 100644 --- a/FencerJudgeBack/README.md +++ b/FencerJudgeBack/README.md @@ -1,52 +1,83 @@ # Entités -## MATCHS -- id -- player1 -- player2 -- referee (arbitre) -- score1 (score du joueur 1) -- score2 (score du joueur 2) -- date -- state (état du match : en cours, terminé, pas commencé) +## MATCHES (MatchBean) +- id -> Long +- player1ID -> Long +- player2ID -> Long +- refereeID (arbitre) -> Long +- score1 (score du joueur 1) -> Integer +- score2 (score du joueur 2) -> Integer +- date -> Date +- state (état du match : en cours, terminé, pas commencé) -> Integer (ENUM) -## ETATS D'UN MATCH -- ONGOING -- OVER -- NOT STARTED +## ETATS D'UN MATCH (MatchesStates) +- ONGOING -> Integer (1) +- OVER -> Integer (2) +- NOT STARTED -> Integer (3) -## ARBITRES -- id -- name (nom de famille) -- firstName (prénom) +## ARBITRES (RefereeBean) +- id -> Long +- name (nom de famille) -> String +- firstName (prénom) -> String -## JOUEURS -- id -- name (nom de famille) -- firstName (prénom) +## JOUEURS (PlayerBean) +- id -> Long +- name (nom de famille) -> String +- firstName (prénom) -> String # Actions REST sur les entités -## MATCHS (MatchRestController, "/matchs") -- Lister tous les matchs -> MatchRestController.**getAll()** -- Lister tous les matchs à partir d'une certaine date -> MatchRestController.**getAllFromDate(Date date)** -- Lister les matchs en cours (état : en cours) -> MatchRestController.**getAllActive()** -- Lister les matchs terminés (état : terminé) -> MatchRestController.**getAllOver()** -- Lister les matchs non commencés (état : non commencé) -> MatchRestController.**getAllNotStarted()** -- Afficher un match par id -> MatchRestController.**get(Long matchID)** -- Mettre à jour le score1 d'un match récupéré par id -> MatchRestController.**updateScore1Of(Long matchID, String newScore1)** -- Mettre à jour le score2 d'un match récupéré par id -> MatchRestController.**updateScore2Of(Long matchID, String newScore2)** -- Ajouter un match -> MatchRestController.**add(Date date, Long refereeID, Long player1ID, Long player2ID)** -- Supprimer un match (supprimer élément de MatchRepository en récupérant l'id) -> MatchRestController.**delete(Long matchID)** +## matches (MatchRestController, "/matches") +- Lister tous les matches -> **GET "/matches/"** -> List +- Lister tous les matches à partir d'une certaine date -> **GET "/matches/date=&date"** -> List +- Lister les matches en cours (état : en cours) -> **GET "/matches/active"** -> List +- Lister les matches terminés (état : terminé) -> **GET "/matches/over"** -> List +- Lister les matches non commencés (état : non commencé) -> **GET "/matches/not-started"** -> List +- Afficher un match par id -> **GET "/matches/id=&id"** -> MatchBean +- Mettre à jour les score d'un match récupéré par id -> **POST "/matches/update-match"** +{ + id=$id, + score1=$score1, + score2=$score2 +} +-> MatchBean +- Ajouter un match -> **POST "/matches/add-match"** +{ + date=$date, + refereeID=$refereeID, + player1ID=$player1ID, + player2ID=$player2ID +} +-> MatchBean +- Supprimer un match (supprimer élément de MatchRepository en récupérant l'id) -> **POST "/matches/delete-match"** +{ + id=$id +} ## ARBITRES (RefereeRestController, "/referees") : -- Lister tous les arbitres -> RefereeRestController.**getAll()** -- Afficher un arbitre par id -> RefereeRestController.**get(Long refereeID)** -- Afficher un arbitre par nom -> RefereeRestController.**get(String refereeName)** -- Ajouter un arbitre -> RefereeRestController.**add(String name, String firstName)** -- Supprimer un arbitre -> RefereeRestController.**delete(Long refereeID)** +- Lister tous les arbitres -> **GET "/referees/"** -> List +- Afficher un arbitre par id -> **GET "/referees/id=$id"** -> RefereeBean +- Afficher un arbitre par nom ->**GET "/referees/name=$name"** -> RefereeBean +- Ajouter un arbitre ->**POST "/referees/add-referee"** +{ + name=$name, + firstName=$firstName +} +-> RefereeBean +- Supprimer un arbitre ->**POST "/referees/delete-referee/"** +{ + id=$id +} ## JOUEURS (PlayerRestController, "/players") : -- Lister tous les joueurs -> PlayerRestController.**getAll()** -- Afficher un joueur par id -> PlayerRestController.**get(Long playerID)** -- Afficher un joueur par nom -> PlayerRestController.**get(String playerName)** -- Ajouter un joueur -> PlayerRestController.**add(String name, String firstName)** -- Supprimer un joueur -> PlayerRestController.**delete(String name, String firstName)** +- Lister tous les joueurs ->**GET "/players/"** -> List +- Afficher un joueur par id ->**GET "/players/id=$id"** -> PlayerBean +- Afficher un joueur par nom ->**GET "/players/name=$name"** -> PlayerBean +- Ajouter un joueur ->**POST "/players/add-player"** +{ + name=$name, + firstName=$firstName +} +-> PlayerBean +- Supprimer un joueur ->**POST "/players/delete-player"** +{ + id=$id +} diff --git a/FencerJudgeBack/TODO.txt b/FencerJudgeBack/TODO.txt new file mode 100644 index 0000000..d5b5baa --- /dev/null +++ b/FencerJudgeBack/TODO.txt @@ -0,0 +1,4 @@ +corriger les services - ~ +tester les restcontrollers via des requêtes http - ~ +créer la bdd avec toutes les tables (repositories) +tester le websocket \ No newline at end of file diff --git a/FencerJudgeBack/conception.txt b/FencerJudgeBack/conception.txt index 4113eaa..02a822b 100644 --- a/FencerJudgeBack/conception.txt +++ b/FencerJudgeBack/conception.txt @@ -35,30 +35,40 @@ MatchService --> DONE: return MatchRepository.getAll() // Obtenir un match par id (public) --> DONE - function get(var long id) -> MatchBean : + function getById(var long id) -> MatchBean : return MatchRepository.findById(id) + // Obtenir un ou plusieurs match(s) par joueurs (id) (public) --> DONE + function getByPlayers(var long player1ID, var long player2ID) -> array { + return MatchRepository.getAll().filterBy(player1ID or player2ID) + } + // Ajouter un match (admin) --> DONE - function add(var MatchBean newMatch) -> MatchBean : + function createMatch(var MatchBean newMatch) -> MatchBean : MatchRepository.add(newMatch) return newMatch // Modifier un match (admin) --> DONE - function update(var long id, var PlayerBean player1, var PlayerBean player2, var RefereeBean referee, var integer score1, var integer score2, var Date date, var string state) -> MatchBean: - // Créer nouveau MatchBean - var MatchBean newMatch = new MatchBean(id, player1, player2, referee, score1, score2, date, state) + function updateMatch(var long id, var Date date, var long refereeID, var long player1ID, var long player2ID, var integer scorePlayer1, var integer scorePlayer2, var Date date, var string matchState) -> integr (success or not): + // Vérifier si le match existe à l'id renseigné + if MatchRepository.getById(id) doesn't exist { + return FAILED + } + + // Créer nouveau MatchBean à l'id renseigné + var MatchBean newMatch = new MatchBean(id, player1ID, player2ID, refereeID, score1, score2, date, state) // Supprimer le MatchBean à l'id en paramètre - deleteById(id) + MatchRepository.deleteById(id) // Insérer le nouveau MatchBean à l'id en paramètre MatchRepository.add(newMatch) - return newMatch + return SUCCESS // Supprimer un match (admin) --> DONE - function delete(var long id) -> integer (success or failure) : + function deleteMatch(var long id) -> integer (success or failure) : try: MatchRepository.deleteById(id) catch error: @@ -72,30 +82,41 @@ RefereeService --> DONE: return RefereeRepository.getAll() // Obtenir un arbitre par id (public) --> DONE - function get(var long id) -> RefereeBean : + function getById(var long id) -> RefereeBean : return RefereeRepository.findById(id) - // Obtenir un arbitre par nom (public) --> DONE - function get(var string name) -> RefereeBean : - return RefereeRepository.findByName(name) + // Obtenir un ou plusieurs arbitre(s) par nom (public) --> DONE + function getByName(var string name) -> array : + return RefereeRepository.getAll().filterBy(name) + + // Obtenir un ou plusieurs arbitre(s) par prénom (public) + function getByFirstName(var string firstName) -> array : + return RefereeRepository.getAll().filterBy(firstName) // Ajouter un arbitre (admin) --> DONE - function add(var RefereeBean newReferee) -> RefereeBean: + function createReferee(var RefereeBean newReferee) -> RefereeBean: RefereeRepository.add(newReferee) return newReferee // Modifier un arbitre (admin) --> DONE - function update(var long id, var string name, var string firstName) -> RefereeBean: - // Créer nouveau RefereeBean + function updateReferee(var long id, var string name, var string firstName) -> integer (success or not): + + // Vérifier si l'arbitre existe à l'id renseigné + if RefereeRepository.getById(id) doesn't exist { + return FAILED + } + + // Créer nouveau RefereeBean à l'id renseigné var RefereeBean newReferee = new RefereeBean(id, name, firstName) // Supprimer le RefereeBean à l'id en paramètre - deleteById(id) + RefereeRepository.deleteById(id) // Insérer le nouveau RefereeBean à l'id en paramètre RefereeRepository.add(newReferee) - return newReferee + return SUCCESS + // Supprimer un arbitre (admin) --> DONE function delete(var long id) -> integer (success or failure) : @@ -112,12 +133,16 @@ PlayerService --> DONE: return PlayerRepository.getAll() // Obtenir un joueur par id (public) --> DONE - function get(var long id) -> PlayerBean : + function getById(var long id) -> PlayerBean : return PlayerRepository.findById(id) - // Obtenir un joueur par nom (public) --> DONE - function get(var string name) -> PlayerBean : - return PlayerRepository.findByName(name) + // Obtenir un ou plusieurs joueur(s) par nom (public) --> DONE + function getByName(var string name) -> array : + return PlayerRepository.getAll().filterBy(name) + + // Obtenir un ou plusieurs joueur(s) par prénom (public) --> DONE + function getByFirstName(var string firstName) -> array : + return PlayerRepository.getAll().filterBy(firstName) // Ajouter un joueur (admin) --> DONE function add(var PlayerBean newPlayer) -> PlayerBean: