269 lines
No EOL
8.7 KiB
Text
269 lines
No EOL
8.7 KiB
Text
## 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<MatchBean> :
|
|
return MatchRepository.getAll()
|
|
|
|
// Obtenir un match par id (public) --> DONE
|
|
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<MatchBean> {
|
|
return MatchRepository.getAll().filterBy(player1ID or player2ID)
|
|
}
|
|
|
|
// Ajouter un match (admin) --> DONE
|
|
function createMatch(var MatchBean newMatch) -> MatchBean :
|
|
MatchRepository.add(newMatch)
|
|
return newMatch
|
|
|
|
// Modifier un match (admin) --> DONE
|
|
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
|
|
MatchRepository.deleteById(id)
|
|
|
|
// Insérer le nouveau MatchBean à l'id en paramètre
|
|
MatchRepository.add(newMatch)
|
|
|
|
return SUCCESS
|
|
|
|
|
|
// Supprimer un match (admin) --> DONE
|
|
function deleteMatch(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<RefereeBean> :
|
|
return RefereeRepository.getAll()
|
|
|
|
// Obtenir un arbitre par id (public) --> DONE
|
|
function getById(var long id) -> RefereeBean :
|
|
return RefereeRepository.findById(id)
|
|
|
|
// Obtenir un ou plusieurs arbitre(s) par nom (public) --> DONE
|
|
function getByName(var string name) -> array<RefereeBean> :
|
|
return RefereeRepository.getAll().filterBy(name)
|
|
|
|
// Obtenir un ou plusieurs arbitre(s) par prénom (public)
|
|
function getByFirstName(var string firstName) -> array<RefereeBean> :
|
|
return RefereeRepository.getAll().filterBy(firstName)
|
|
|
|
// Ajouter un arbitre (admin) --> DONE
|
|
function createReferee(var RefereeBean newReferee) -> RefereeBean:
|
|
RefereeRepository.add(newReferee)
|
|
return newReferee
|
|
|
|
// Modifier un arbitre (admin) --> DONE
|
|
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
|
|
RefereeRepository.deleteById(id)
|
|
|
|
// Insérer le nouveau RefereeBean à l'id en paramètre
|
|
RefereeRepository.add(newReferee)
|
|
|
|
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 --> DONE:
|
|
// Obtenir tous les joueurs (public) --> DONE
|
|
function getAll() -> array<PlayerBean> :
|
|
return PlayerRepository.getAll()
|
|
|
|
// Obtenir un joueur par id (public) --> DONE
|
|
function getById(var long id) -> PlayerBean :
|
|
return PlayerRepository.findById(id)
|
|
|
|
// Obtenir un ou plusieurs joueur(s) par nom (public) --> DONE
|
|
function getByName(var string name) -> array<PlayerBean> :
|
|
return PlayerRepository.getAll().filterBy(name)
|
|
|
|
// Obtenir un ou plusieurs joueur(s) par prénom (public) --> DONE
|
|
function getByFirstName(var string firstName) -> array<PlayerBean> :
|
|
return PlayerRepository.getAll().filterBy(firstName)
|
|
|
|
// 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<MatchBean> :
|
|
return MatchService.getAll()
|
|
|
|
// Lister tous les matchs à partir d'une certaine date
|
|
function getAllFromDate(var Date dateToFilter) -> array<MatchBean> :
|
|
return MatchService.getAll().filter(date == dateToFilter)
|
|
|
|
// Lister les matchs en cours (état : en cours)
|
|
function getAllActive() -> array<MatchBean> :
|
|
return MatchService.getAll().filter(state == "ONGOING")
|
|
|
|
// Lister les matchs terminés (état : terminé)
|
|
function getAllOver() -> array<MatchBean> :
|
|
return MatchService.getAll().filter(state == "FINISHED")
|
|
|
|
// Lister les matchs non commencés (état : non commencé)
|
|
function getAllNotStarted() -> array<MatchBean> :
|
|
// 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<RefereeBean> :
|
|
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<PlayerBean> :
|
|
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 ?) |