PlayerController.java:
@Controller
public class PlayerController {
private final int MAXIMUM_CAPACITY = 12;
@Autowired
private final PlayerRepository playerRepository;
public PlayerController(PlayerRepository repository){
this.playerRepository = repository;
}
@QueryMapping
List<Player> getAllPlayers(){
List<Player> ps = new ArrayList<>();
playerRepository.findAll().forEach(ps::add);
return ps;
}
@QueryMapping
Optional<Player> playerById(@Argument Long id){
return playerRepository.findById(id);
}
@MutationMapping
Object AddPlayer(@Argument PlayerInput player){
if(playerRepository.count() >= MAXIMUM_CAPACITY)
return new PlayerFailedPayload("maximum number of players reached (" + MAXIMUM_CAPACITY + ")! Please delete players before adding more." );
if(!PlayerPosition.isValidPosition(player.position()))
return new PlayerFailedPayload("Invalid Player Position, The valid positions …Run Code Online (Sandbox Code Playgroud)