54 lines
1.3 KiB
Java
54 lines
1.3 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.*;
|
|
|
|
public class GraphQL implements QueryGraphql {
|
|
private final IProvider provider;
|
|
|
|
public GraphQL(IProvider provider) {
|
|
this.provider = provider;
|
|
}
|
|
|
|
@GraphQLName("bans")
|
|
public BanAPI[] getBans() {
|
|
return provider.bans().toArray(new BanAPI[0]);
|
|
}
|
|
|
|
@GraphQLName("players")
|
|
public PlayerAPI[] getPlayers() {
|
|
return provider.players().toArray(new PlayerAPI[0]);
|
|
}
|
|
|
|
@GraphQLName("ping")
|
|
public PingAPI getPing() {
|
|
return provider.ping();
|
|
}
|
|
|
|
@GraphQLName("plugins")
|
|
public PluginAPI[] getPlugins() {
|
|
return provider.plugins().toArray(new PluginAPI[0]);
|
|
}
|
|
|
|
@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();
|
|
}
|
|
|
|
@GraphQLName("chat")
|
|
public ChatAPI[] getChat() {
|
|
return provider.chat().toArray(new ChatAPI[0]);
|
|
}
|
|
}
|