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