-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b93d5c6
commit ecc15c0
Showing
5 changed files
with
185 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
package osu.serverlist.Cache; | ||
|
||
import java.sql.ResultSet; | ||
import java.sql.SQLException; | ||
import java.util.ArrayList; | ||
|
||
import commons.marcandreher.Cache.Action.DatabaseAction; | ||
import commons.marcandreher.Commons.Flogger; | ||
|
||
public class ClientKeys extends DatabaseAction { | ||
|
||
private final String KEY_SQL = "SELECT * FROM `un_clients`"; | ||
|
||
public static ArrayList<String> keys = new ArrayList<>(); | ||
|
||
@Override | ||
public void executeAction(Flogger logger) { | ||
ArrayList<String> keys = new ArrayList<>(); | ||
super.executeAction(logger); | ||
|
||
ResultSet keyResultSet = mysql.Query(KEY_SQL); | ||
try { | ||
while (keyResultSet.next()) { | ||
keys.add(keyResultSet.getString("key")); | ||
} | ||
|
||
ClientKeys.keys = keys; | ||
} catch (SQLException e) { | ||
logger.error(e); | ||
} | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
56 changes: 56 additions & 0 deletions
56
src/main/java/osu/serverlist/Sites/Endpoints/client/ClientServersRoute.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
package osu.serverlist.Sites.Endpoints.client; | ||
|
||
import java.sql.ResultSet; | ||
import java.sql.SQLException; | ||
import java.util.ArrayList; | ||
|
||
|
||
import commons.marcandreher.Engine.JsonProcessingRoute; | ||
import commons.marcandreher.Utils.TimestampConverter; | ||
import osu.serverlist.Cache.ClientKeys; | ||
import osu.serverlist.Sites.Models.ClientServer; | ||
import osu.serverlist.Sites.Models.ServerHelper; | ||
import spark.Request; | ||
import spark.Response; | ||
|
||
public class ClientServersRoute extends JsonProcessingRoute { | ||
|
||
private final String SQL_QUERY = "SELECT * FROM `un_servers` WHERE `visible` = 1"; | ||
|
||
@Override | ||
public Object handle(Request request, Response response) { | ||
Object ob = super.handle(request, response); | ||
if(ob != null) return ob; | ||
|
||
if(request.queryParams("key") == null) return customError("No key provided"); | ||
|
||
if(!(ClientKeys.keys.contains(request.queryParams("key")))) return customError("Invalid key"); | ||
|
||
ArrayList<ClientServer> serverList = new ArrayList<>(); | ||
|
||
ResultSet serverResultSet = mysql.Query(SQL_QUERY); | ||
try { | ||
while (serverResultSet.next()) { | ||
ClientServer v = new ClientServer(); | ||
v.setName(serverResultSet.getString("name")); | ||
v.setId(serverResultSet.getInt("id")); | ||
v.setImage(ServerHelper.repairLogo(serverResultSet.getString("logo_loc"))); | ||
v.setPlayers(serverResultSet.getInt("players")); | ||
v.setVotes(serverResultSet.getInt("votes")); | ||
v.setTimestamp(TimestampConverter.getDiffString(serverResultSet.getString("created"))); | ||
v.setDevserver(serverResultSet.getString("devserver")); | ||
v.setUrl("https://" + serverResultSet.getString("url")); | ||
|
||
v.setSafe_name(v.getName().toLowerCase().replaceAll(" ", "")); | ||
|
||
serverList.add(v); | ||
} | ||
return returnResponse(serverList); | ||
} catch (SQLException e) { | ||
return internalDbError(); | ||
} catch (Exception e) { | ||
e.printStackTrace(); | ||
return internalError(); | ||
} | ||
} | ||
} |
89 changes: 89 additions & 0 deletions
89
src/main/java/osu/serverlist/Sites/Models/ClientServer.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,89 @@ | ||
package osu.serverlist.Sites.Models; | ||
|
||
public class ClientServer { | ||
|
||
private int id; | ||
private String name; | ||
private String safe_name; | ||
private String url; | ||
private String devserver; | ||
|
||
private String image; | ||
private int players; | ||
private int votes; | ||
|
||
private String timestamp; | ||
|
||
public int getId() { | ||
return this.id; | ||
} | ||
|
||
public void setId(int id) { | ||
this.id = id; | ||
} | ||
|
||
public String getName() { | ||
return this.name; | ||
} | ||
|
||
public void setName(String name) { | ||
this.name = name; | ||
} | ||
|
||
public String getSafe_name() { | ||
return this.safe_name; | ||
} | ||
|
||
public void setSafe_name(String safe_name) { | ||
this.safe_name = safe_name; | ||
} | ||
|
||
public String getUrl() { | ||
return this.url; | ||
} | ||
|
||
public void setUrl(String url) { | ||
this.url = url; | ||
} | ||
|
||
public String getDevserver() { | ||
return this.devserver; | ||
} | ||
|
||
public void setDevserver(String devserver) { | ||
this.devserver = devserver; | ||
} | ||
|
||
public String getImage() { | ||
return this.image; | ||
} | ||
|
||
public void setImage(String image) { | ||
this.image = image; | ||
} | ||
|
||
public int getPlayers() { | ||
return this.players; | ||
} | ||
|
||
public void setPlayers(int players) { | ||
this.players = players; | ||
} | ||
|
||
public int getVotes() { | ||
return this.votes; | ||
} | ||
|
||
public void setVotes(int votes) { | ||
this.votes = votes; | ||
} | ||
|
||
public String getTimestamp() { | ||
return this.timestamp; | ||
} | ||
|
||
public void setTimestamp(String timestamp) { | ||
this.timestamp = timestamp; | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,4 +12,5 @@ public static String repairLogo(String logo) { | |
return Api.configObj.getDomain() + logo; | ||
} | ||
} | ||
|
||
} |