42 lines
1.1 KiB
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();
|
|
}
|
|
}
|