package xyz.etztech.serverapi.web; import com.expediagroup.graphql.annotations.GraphQLName; import io.javalin.plugin.graphql.graphql.QueryGraphql; import xyz.etztech.serverapi.web.api.PlayerAPI; import xyz.etztech.serverapi.web.api.QueryAPI; import xyz.etztech.serverapi.web.api.TPSAPI; import xyz.etztech.serverapi.web.api.WorldAPI; public class GraphQL implements QueryGraphql { private final IProvider provider; public GraphQL(IProvider provider) { this.provider = provider; } @GraphQLName("players") public PlayerAPI[] getPlayers() { return provider.players().toArray(new PlayerAPI[0]); } @GraphQLName("query") public QueryAPI getQuery() { return provider.query(); } @GraphQLName("world") public WorldAPI getWorld(@GraphQLName("world") String name) { return provider.world(name); } @GraphQLName("worlds") public WorldAPI[] getWorlds() { return provider.worlds().toArray(new WorldAPI[0]); } @GraphQLName("tps") public TPSAPI getTps() { return provider.TPS(); } }