## Websocket // Ouvrir channel websocket sur port 8500 --> DONE function startWebsocket(var integer port) -> Websocket: var Websocket websocket = start Websocket at port [port] return websocket ## 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 (nom) - firstName:String (prénom) PLAYERS -> PlayerBean, PlayerRepository PlayerBean: - id:Long - name:String (nom) - firstName:String (prénom) ## Services MatchService --> DONE: // 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) -> 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) // Supprimer le MatchBean à l'id en paramètre deleteById(id) // Insérer le nouveau MatchBean à l'id en paramètre MatchRepository.add(newMatch) return newMatch // 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 --> DONE: // 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) -> 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 var RefereeBean newReferee = new RefereeBean(id, name, firstName) // Supprimer le RefereeBean à l'id en paramètre deleteById(id) // Insérer le nouveau RefereeBean à l'id en paramètre RefereeRepository.add(newReferee) return newReferee // 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 --> DONE: // 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) -> PlayerBean: PlayerRepository.add(newPlayer) return newPlayer // Modifier un joueur (admin) --> DONE function update(var long id, var string name, var string firstName) -> PlayerBean : // Créer nouveau PlayerBean var PlayerBean newPlayer = new PlayerBean(id, name, firstName) // Supprimer le PlayerBean à l'id en paramètre deleteById(id) // Insérer le nouveau PlayerBean à l'id en paramètre PlayerRepository.add(newPlayer) return newPlayer // 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 ?)