66 lines
2.5 KiB
Kotlin
66 lines
2.5 KiB
Kotlin
package fr.teamflash.fencerjudgeback.restControllers
|
|
|
|
import fr.teamflash.fencerjudgeback.entities.PlayerBean
|
|
import fr.teamflash.fencerjudgeback.services.PlayerService
|
|
import org.springframework.http.ResponseEntity
|
|
import org.springframework.web.bind.annotation.DeleteMapping
|
|
import org.springframework.web.bind.annotation.GetMapping
|
|
import org.springframework.web.bind.annotation.PathVariable
|
|
import org.springframework.web.bind.annotation.PostMapping
|
|
import org.springframework.web.bind.annotation.PutMapping
|
|
import org.springframework.web.bind.annotation.RequestBody
|
|
import org.springframework.web.bind.annotation.RequestMapping
|
|
import org.springframework.web.bind.annotation.RestController
|
|
|
|
@RestController
|
|
@RequestMapping("/players")
|
|
class PlayerRestController(private val playerService: PlayerService) {
|
|
|
|
// Lister tous les joueurs
|
|
@GetMapping("/")
|
|
fun getAll(): ResponseEntity<List<PlayerBean>> {
|
|
return ResponseEntity.ok(playerService.getAll())
|
|
}
|
|
|
|
// Afficher un joueur par id
|
|
@GetMapping("/{id}")
|
|
fun getById(@PathVariable id: Long): ResponseEntity<PlayerBean?> {
|
|
return ResponseEntity.ok(playerService.getById(id))
|
|
}
|
|
|
|
// Afficher un ou plusieurs joueur(s) par nom
|
|
@GetMapping("/name/{name}")
|
|
fun getByName(@PathVariable name: String): ResponseEntity<List<PlayerBean?>?> {
|
|
return ResponseEntity.ok(playerService.getByName(name))
|
|
}
|
|
|
|
// Afficher un ou plusieurs joueur(s) par prénom
|
|
@GetMapping("/firstName/{firstName}")
|
|
fun getByFirstName(@PathVariable firstName: String): ResponseEntity<List<PlayerBean?>?> {
|
|
return ResponseEntity.ok(playerService.getByFirstName(firstName))
|
|
}
|
|
|
|
// Afficher un ou plusieurs joueur(s) par club
|
|
@GetMapping("/club/{club}")
|
|
fun getByClub(@PathVariable club: String): ResponseEntity<List<PlayerBean?>?> {
|
|
return ResponseEntity.ok(playerService.getByClub(club))
|
|
}
|
|
|
|
// Ajouter un joueur
|
|
@PostMapping("/create-player")
|
|
fun createPlayer(@RequestBody player: PlayerBean): ResponseEntity<PlayerBean> {
|
|
return ResponseEntity.ok(playerService.createPlayer(player))
|
|
}
|
|
|
|
// Modifier un joueur
|
|
@PutMapping("/update-player/{id}")
|
|
fun updatePlayer(@PathVariable id: Long, @RequestBody player: PlayerBean): ResponseEntity<Int> {
|
|
return ResponseEntity.ok(playerService.updatePlayer(id, player))
|
|
}
|
|
|
|
// Supprimer un joueur
|
|
@DeleteMapping("/delete-player/{id}")
|
|
fun deletePlayer(@PathVariable id: Long): ResponseEntity<Int> {
|
|
return ResponseEntity.ok(playerService.deletePlayerById(id))
|
|
}
|
|
}
|