package net.technicpack.discord;
import net.technicpack.discord.io.Server;
import net.technicpack.launchercore.modpacks.ModpackModel;
import net.technicpack.rest.RestObject;
import net.technicpack.rest.RestfulAPIException;
import javax.swing.*;
import java.util.concurrent.ExecutionException;
public class HttpDiscordApi implements IDiscordApi {
private String url;
public HttpDiscordApi(String url) {
this.url = url;
}
@Override
public void retrieveServer(final ModpackModel modpack, final String serverId, final IDiscordCallback callback) {
new SwingWorker<Server, Server>() {
@Override
public Server doInBackground() {
String guildUrl = url + "servers/" + serverId + "/widget.json";
try {
return RestObject.getRestObject(Server.class, guildUrl);
} catch (RestfulAPIException e) {
e.printStackTrace();
}
return null;
}
@Override
public void done() {
try {
Server server = get();
callback.serverGetCallback(modpack, server);
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}.execute();
}
}