# Entités
## MATCHES (MatchBean)
- id -> Long
- country -> String
- city -> String
- weapon -> String
- 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 (MatchesStates)
- ONGOING -> Integer (1)
- OVER -> Integer (2)
- NOT STARTED -> Integer (3)

## ARBITRES (RefereeBean)
- id -> Long
- name (nom de famille) -> String
- firstName (prénom) -> String
- qualification -> String

## JOUEURS (PlayerBean)
- id -> Long
- name (nom de famille) -> String
- firstName (prénom) -> String
- club -> String

# Actions REST sur les entités
## matches (MatchRestController, "/matches")
- Lister tous les matches -> **GET "/matches/"** -> List<MatchBean>
- Lister tous les matches à partir d'une certaine date -> **GET "/matches/date=&date"** -> List<MatchBean>
- Lister les matches en cours (état : en cours) -> **GET "/matches/active"** -> List<MatchBean>
- Lister les matches terminés (état : terminé) -> **GET "/matches/over"** -> List<MatchBean>
- Lister les matches non commencés (état : non commencé) -> **GET "/matches/not-started"** -> List<MatchBean>
- 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,
	country=$country
	city=$city,
	weapon=$weapon,
	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 -> **GET "/referees/"** -> List<RefereeBean>
- 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,
	qualification=$qualification
}
-> RefereeBean
- Supprimer un arbitre ->**POST "/referees/delete-referee/"**
{
	id=$id
}

## JOUEURS (PlayerRestController, "/players") :
- Lister tous les joueurs ->**GET "/players/"** -> List<PlayerBean>
- 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,
	club=$club
}
-> PlayerBean
- Supprimer un joueur ->**POST "/players/delete-player"**
{
	id=$id
}

# Websocket (http://localhost:8080/ws)
- Vider le channel
- Insérer une donnée dans le channel
- Modifier une donnée dans le channel
- Supprimer une donnée du channel

## MATCHES
## matches (MatchRestController, "/matches")
- Lister tous les matches -> dans le channel Websocket
- Lister tous les matches à partir d'une certaine date -> dans le channel Websocket
- Lister les matches en cours (état : en cours) -> **GET "/matches/active"** -> List<MatchBean>
- Lister les matches terminés (état : terminé) -> **GET "/matches/over"** -> List<MatchBean>
- Lister les matches non commencés (état : non commencé) -> **GET "/matches/not-started"** -> List<MatchBean>
- 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,
	country=$country
	city=$city,
	weapon=$weapon,
	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
} 

## REFEREES


## PLAYERS