ServerAPI/src/main/java/xyz/etztech/serverapi/web/GraphQL.java

42 lines
1.1 KiB
Java

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();
}
}