## Websocket // Ouvrir channel websocket sur port 8500 ## Entités MATCHS -> MatchBean, MatchRepository MatchBean: - id:Long - player1:PlayerBean - player2:PlayerBean - referee:RefereeBean - score1:Int (score du player1) - score2:Int (score du player2) - date:String (date du match) - state:String (état du match : terminé, en cours, pas commencé) REFEREES (arbitres) -> RefereeBean, RefereeRepository RefereeBean: - id:Long - name:Long PLAYERS -> PlayerBean, PlayerRepository PlayerBean: - id:Long - name:String (nom) - firstName:String (prénom) ## Services MatchService --> TODO: // Obtenir tous les matchs (public) --> DONE function getAll() -> array : return MatchRepository.getAll() // Obtenir un match par id (public) --> DONE function get(var long id) -> MatchBean : return MatchRepository.findById(id) // Ajouter un match (admin) --> DONE function add(var MatchBean newMatch) -> integer (success or failure) : try: MatchRepository.add(newMatch) catch error: return FAILED return SUCCESS // Modifier un match (admin) --> TODO function update(var long id, ...) -> integer (success or failure) : try: MatchRepository. catch error: return FAILED return SUCCESS // Supprimer un match (admin) --> DONE function delete(var long id) -> integer (success or failure) : try: MatchRepository.deleteById(id) catch error: return FAILED return SUCCESS RefereeService --> TODO: // Obtenir tous les arbitres (public) --> DONE function getAll() -> array : return RefereeRepository.getAll() // Obtenir un arbitre par id (public) --> DONE function get(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) // Ajouter un arbitre (admin) --> DONE function add(var RefereeBean newReferee) -> integer (success or failure) : try: RefereeRepository.add(newReferee) catch error: return FAILED return SUCCESS // Modifier un arbitre (admin) --> TODO function update(var long id, ...) -> integer (success or failure) : try: RefereeRepository. catch error: return FAILED return SUCCESS // Supprimer un arbitre (admin) --> DONE function delete(var long id) -> integer (success or failure) : try: RefereeRepository.deleteById(id) catch error: return FAILED return SUCCESS PlayerService --> TODO: // Obtenir tous les joueurs (public) --> DONE function getAll() -> array : return PlayerRepository.getAll() // Obtenir un joueur par id (public) --> DONE function get(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) // Ajouter un joueur (admin) --> DONE function add(var PlayerBean newPlayer) -> integer (success or failure) : try: PlayerRepository.add(newPlayer) catch error: return FAILED return SUCCESS // Modifier un joueur (admin) --> TODO function update(var long id, ...) -> integer (success or failure) : try: PlayerRepository. catch error: return FAILED return SUCCESS // Supprimer un joueur (admin) --> DONE function delete(var long id) -> integer (success or failure) : try: PlayerRepository.deleteById(id) catch error: return FAILED return SUCCESS ## RestControllers MatchRestController --> TODO: // Lister tous les matchs --> DONE function getAll() -> array : return MatchService.getAll() // Lister tous les matchs à partir d'une certaine date function getAllFromDate(var Date dateToFilter) -> array : return MatchService.getAll().filter(date == dateToFilter) // Lister les matchs en cours (état : en cours) function getAllActive() -> array : return MatchService.getAll().filter(state == "ONGOING") // Lister les matchs terminés (état : terminé) function getAllOver() -> array : return MatchService.getAll().filter(state == "FINISHED") // Lister les matchs non commencés (état : non commencé) function getAllNotStarted() -> array : // MatchService : return MatchService.getAll().filter(state == "NOT STARTED") // Afficher un match par id function get(var long id) -> MatchBean : return MatchService.get(id) // Mettre à jour le score1 d'un match récupéré par id --> TODO function updateScore1Of(var long id, var integer newScore) -> integer (success or failure) : return MatchService.update( // Mettre à jour le score2 d'un match récupéré par id --> TODO function updateScore2Of(var long id, var integer newScore) -> integer (success or failure) : return MatchService.update( // Ajouter un match (créer nouveau MatchBean dans MatchRepository) function add(var MatchBean newMatch) -> integer (success or failure): return MatchService.add(newMatch) // Supprimer un match (supprimer élément de MatchRepository en récupérant l'id) function deleteById(var long id) -> integer (success or failure) : return MatchService.deleteById(id) RefereeRestController --> DONE: // Lister tous les arbitres function getAll() -> array : return RefereeService.getAll() // Afficher un arbitre par id function get(var long id) -> RefereeBean : return RefereeService.get(id) // Afficher un arbitre par nom function get(var string name) -> RefereeBean: return RefereeService.get(name) // Ajouter un arbitre (créer nouveau RefereeBean dans RefereeRepository) function add(var RefereeBean newReferee) -> integer (success or failure) : return RefereeService.add(newReferee) // Supprimer un arbitre (supprimer élément de RefereeRepository en récupérant l'id) function deleteById(var long id) -> integer (success or failure) : return RefereeService.deleteById(id) PlayerRestController --> DONE: // Lister tous les joueurs function getAll() -> array : return PlayerService.getAll() // Afficher un joueur par id function get(var long id) -> PlayerBean : return PlayerService.get(id) // Afficher un joueur par nom function get(var string name) -> PlayerBean : return PlayerService.get(name) // Ajouter un joueur (créer nouveau PlayerBean dans PlayerRepository) function add(var PlayerBean newPlayer) -> integer (success or failure) : return PlayerService.add(newPlayer) // Supprimer un joueur (supprimer élément de PlayerRepository en récupérant l'id) function deleteById(var long id) -> integer (success or failure) : return PlayerService.deleteById(id) ## Pages Page des matchs (publique) : à définir (partie front sur Angular ?) Page de connexion à l'administration (publique) : formulaire : - nom d'utilisateur - mot de passe Page d'administration (privée) : à définir (partie front sur Angular ?)