Added /lists/bans REST endpoint - Returns a JSON list of bans
This commit is contained in:
parent
5cdd537ebd
commit
454403d495
2 changed files with 32 additions and 0 deletions
|
|
@ -16,6 +16,7 @@ You should have received a copy of the GNU General Public License
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Data;
|
using System.Data;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using MySql.Data.MySqlClient;
|
using MySql.Data.MySqlClient;
|
||||||
|
|
@ -67,6 +68,28 @@ throw new Exception("Could not find a database library (probably Sqlite3.dll)");
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<Ban> GetBans()
|
||||||
|
{
|
||||||
|
List<Ban> banlist = new List<Ban>();
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (var reader = database.QueryReader("SELECT * FROM Bans"))
|
||||||
|
{
|
||||||
|
while (reader.Read())
|
||||||
|
{
|
||||||
|
banlist.Add(new Ban(reader.Get<string>("IP"), reader.Get<string>("Name"), reader.Get<string>("Reason")));
|
||||||
|
}
|
||||||
|
return banlist;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Log.Error(ex.ToString());
|
||||||
|
Console.WriteLine(ex.StackTrace);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public Ban GetBanByName(string name, bool casesensitive = true)
|
public Ban GetBanByName(string name, bool casesensitive = true)
|
||||||
{
|
{
|
||||||
if (!TShock.Config.EnableBanOnUsernames)
|
if (!TShock.Config.EnableBanOnUsernames)
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@ namespace TShockAPI
|
||||||
Rest.Register(new RestCommand("/v2/bans/read", BanInfoV2) { RequiresToken = true });
|
Rest.Register(new RestCommand("/v2/bans/read", BanInfoV2) { RequiresToken = true });
|
||||||
Rest.Register(new RestCommand("/v2/bans/destroy", BanDestroyV2) { 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("/lists/players", PlayerList) {RequiresToken = true});
|
||||||
|
|
||||||
Rest.Register(new RestCommand("/world/read", WorldRead) {RequiresToken = true});
|
Rest.Register(new RestCommand("/world/read", WorldRead) {RequiresToken = true});
|
||||||
|
|
@ -252,6 +253,14 @@ namespace TShockAPI
|
||||||
|
|
||||||
#region RestBanMethods
|
#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)
|
private object BanCreate(RestVerbs verbs, IParameterCollection parameters)
|
||||||
{
|
{
|
||||||
var returnBlock = new Dictionary<string, string>();
|
var returnBlock = new Dictionary<string, string>();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue