diff --git a/TShockAPI/DB/BanManager.cs b/TShockAPI/DB/BanManager.cs
index 5afa69f9..082e5a41 100644
--- a/TShockAPI/DB/BanManager.cs
+++ b/TShockAPI/DB/BanManager.cs
@@ -16,6 +16,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see .
*/
using System;
+using System.Collections.Generic;
using System.Data;
using System.IO;
using MySql.Data.MySqlClient;
@@ -67,6 +68,28 @@ throw new Exception("Could not find a database library (probably Sqlite3.dll)");
return null;
}
+ public List GetBans()
+ {
+ List banlist = new List();
+ try
+ {
+ using (var reader = database.QueryReader("SELECT * FROM Bans"))
+ {
+ while (reader.Read())
+ {
+ banlist.Add(new Ban(reader.Get("IP"), reader.Get("Name"), reader.Get("Reason")));
+ }
+ return banlist;
+ }
+ }
+ catch (Exception ex)
+ {
+ Log.Error(ex.ToString());
+ Console.WriteLine(ex.StackTrace);
+ }
+ return null;
+ }
+
public Ban GetBanByName(string name, bool casesensitive = true)
{
if (!TShock.Config.EnableBanOnUsernames)
diff --git a/TShockAPI/Rest/RestManager.cs b/TShockAPI/Rest/RestManager.cs
index b5a729c0..7a28a209 100644
--- a/TShockAPI/Rest/RestManager.cs
+++ b/TShockAPI/Rest/RestManager.cs
@@ -48,6 +48,7 @@ namespace TShockAPI
Rest.Register(new RestCommand("/v2/bans/read", BanInfoV2) { RequiresToken = true });
Rest.Register(new RestCommand("/v2/bans/destroy", BanDestroyV2) { RequiresToken = true });
+ Rest.Register(new RestCommand("/lists/bans", BanListIPs) { RequiresToken = true });
Rest.Register(new RestCommand("/lists/players", PlayerList) {RequiresToken = true});
Rest.Register(new RestCommand("/world/read", WorldRead) {RequiresToken = true});
@@ -252,6 +253,14 @@ namespace TShockAPI
#region RestBanMethods
+ private object BanListIPs(RestVerbs verbs, IParameterCollection parameters)
+ {
+ RestObject returnItem = new RestObject("200");
+ returnItem.Add("bans", TShock.Bans.GetBans());
+
+ return returnItem;
+ }
+
private object BanCreate(RestVerbs verbs, IParameterCollection parameters)
{
var returnBlock = new Dictionary();