Added new REST endpoints:
- /v2/world/save
-- Saves the world
- /v2/world/autosave/state/{bool}
-- Changes the autosave state of the server
TSHOCKPLUGINS-12
This commit is contained in:
parent
e61593d74c
commit
e17f56fae0
1 changed files with 66 additions and 34 deletions
|
|
@ -40,7 +40,7 @@ namespace TShockAPI
|
||||||
Rest.Register(new RestCommand("/tokentest", TokenTest) {RequiresToken = true});
|
Rest.Register(new RestCommand("/tokentest", TokenTest) {RequiresToken = true});
|
||||||
|
|
||||||
Rest.Register(new RestCommand("/users/activelist", UserList) {RequiresToken = true});
|
Rest.Register(new RestCommand("/users/activelist", UserList) {RequiresToken = true});
|
||||||
Rest.Register(new RestCommand("/v2/users/activelist", UserListV2) { RequiresToken = true });
|
Rest.Register(new RestCommand("/v2/users/activelist", UserListV2) { RequiresToken = true });
|
||||||
Rest.Register(new RestCommand("/v2/users/read", UserInfoV2) { RequiresToken = true });
|
Rest.Register(new RestCommand("/v2/users/read", UserInfoV2) { RequiresToken = true });
|
||||||
Rest.Register(new RestCommand("/v2/users/destroy", UserDestroyV2) { RequiresToken = true });
|
Rest.Register(new RestCommand("/v2/users/destroy", UserDestroyV2) { RequiresToken = true });
|
||||||
Rest.Register(new RestCommand("/v2/users/update", UserUpdateV2) { RequiresToken = true });
|
Rest.Register(new RestCommand("/v2/users/update", UserUpdateV2) { RequiresToken = true });
|
||||||
|
|
@ -54,6 +54,8 @@ namespace TShockAPI
|
||||||
Rest.Register(new RestCommand("/world/read", WorldRead) {RequiresToken = true});
|
Rest.Register(new RestCommand("/world/read", WorldRead) {RequiresToken = true});
|
||||||
Rest.Register(new RestCommand("/world/meteor", WorldMeteor) {RequiresToken = true});
|
Rest.Register(new RestCommand("/world/meteor", WorldMeteor) {RequiresToken = true});
|
||||||
Rest.Register(new RestCommand("/world/bloodmoon/{bool}", WorldBloodmoon) {RequiresToken = true});
|
Rest.Register(new RestCommand("/world/bloodmoon/{bool}", WorldBloodmoon) {RequiresToken = true});
|
||||||
|
Rest.Register(new RestCommand("/v2/world/save", WorldSave) { RequiresToken = true});
|
||||||
|
Rest.Register(new RestCommand("/v2/world/autosave/state/{bool}", ChangeWorldSaveSettings) { RequiresToken = true });
|
||||||
Rest.Register(new RestCommand("/v2/world/butcher", Butcher) {RequiresToken = true});
|
Rest.Register(new RestCommand("/v2/world/butcher", Butcher) {RequiresToken = true});
|
||||||
|
|
||||||
Rest.Register(new RestCommand("/v2/players/read", PlayerReadV2) { RequiresToken = true });
|
Rest.Register(new RestCommand("/v2/players/read", PlayerReadV2) { RequiresToken = true });
|
||||||
|
|
@ -144,7 +146,7 @@ namespace TShockAPI
|
||||||
private object TokenTest(RestVerbs verbs, IParameterCollection parameters)
|
private object TokenTest(RestVerbs verbs, IParameterCollection parameters)
|
||||||
{
|
{
|
||||||
return new Dictionary<string, string>
|
return new Dictionary<string, string>
|
||||||
{{"status", "200"}, {"response", "Token is valid and was passed through correctly."}};
|
{{"status", "200"}, {"response", "Token is valid and was passed through correctly."}};
|
||||||
}
|
}
|
||||||
|
|
||||||
private object Status(RestVerbs verbs, IParameterCollection parameters)
|
private object Status(RestVerbs verbs, IParameterCollection parameters)
|
||||||
|
|
@ -168,17 +170,17 @@ namespace TShockAPI
|
||||||
|
|
||||||
#region RestUserMethods
|
#region RestUserMethods
|
||||||
|
|
||||||
private object UserListV2(RestVerbs verbs, IParameterCollection parameters)
|
private object UserListV2(RestVerbs verbs, IParameterCollection parameters)
|
||||||
{
|
{
|
||||||
var ret = new RestObject("200");
|
var ret = new RestObject("200");
|
||||||
string playerlist = "";
|
string playerlist = "";
|
||||||
foreach (var TSPlayer in TShock.Players)
|
foreach (var TSPlayer in TShock.Players)
|
||||||
{
|
{
|
||||||
playerlist += playerlist == "" ? TSPlayer.UserAccountName : "\t" + TSPlayer.UserAccountName;
|
playerlist += playerlist == "" ? TSPlayer.UserAccountName : "\t" + TSPlayer.UserAccountName;
|
||||||
}
|
}
|
||||||
ret["activeusers"] = playerlist;
|
ret["activeusers"] = playerlist;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
private object UserUpdateV2(RestVerbs verbs, IParameterCollection parameters)
|
private object UserUpdateV2(RestVerbs verbs, IParameterCollection parameters)
|
||||||
{
|
{
|
||||||
|
|
@ -379,6 +381,36 @@ namespace TShockAPI
|
||||||
|
|
||||||
#region RestWorldMethods
|
#region RestWorldMethods
|
||||||
|
|
||||||
|
private object ChangeWorldSaveSettings(RestVerbs verbs, IParameterCollection parameters)
|
||||||
|
{
|
||||||
|
bool state;
|
||||||
|
bool.TryParse(verbs["state"], out state);
|
||||||
|
|
||||||
|
if (state == true)
|
||||||
|
{
|
||||||
|
TShock.Config.AutoSave = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TShock.Config.AutoSave = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
RestObject rj = new RestObject("200");
|
||||||
|
rj["response"] = "Value changed";
|
||||||
|
rj["state"] = state;
|
||||||
|
|
||||||
|
return rj;
|
||||||
|
}
|
||||||
|
|
||||||
|
private object WorldSave(RestVerbs verbs, IParameterCollection parameters)
|
||||||
|
{
|
||||||
|
TShock.Utils.SaveWorld();
|
||||||
|
|
||||||
|
RestObject rj = new RestObject("200");
|
||||||
|
rj["response"] = "World saved.";
|
||||||
|
return rj;
|
||||||
|
}
|
||||||
|
|
||||||
private object Butcher(RestVerbs verbs, IParameterCollection parameters)
|
private object Butcher(RestVerbs verbs, IParameterCollection parameters)
|
||||||
{
|
{
|
||||||
bool killFriendly;
|
bool killFriendly;
|
||||||
|
|
@ -423,11 +455,11 @@ namespace TShockAPI
|
||||||
|
|
||||||
private object WorldMeteor(RestVerbs verbs, IParameterCollection parameters)
|
private object WorldMeteor(RestVerbs verbs, IParameterCollection parameters)
|
||||||
{
|
{
|
||||||
if (WorldGen.genRand == null)
|
if (WorldGen.genRand == null)
|
||||||
WorldGen.genRand = new Random();
|
WorldGen.genRand = new Random();
|
||||||
WorldGen.dropMeteor();
|
WorldGen.dropMeteor();
|
||||||
var returnBlock = new Dictionary<string, string> {{"status", "200"}, {"response", "Meteor has been spawned."}};
|
var returnBlock = new Dictionary<string, string> {{"status", "200"}, {"response", "Meteor has been spawned."}};
|
||||||
return returnBlock;
|
return returnBlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
private object WorldBloodmoon(RestVerbs verbs, IParameterCollection parameters)
|
private object WorldBloodmoon(RestVerbs verbs, IParameterCollection parameters)
|
||||||
|
|
@ -713,24 +745,24 @@ namespace TShockAPI
|
||||||
return returnBlock;
|
return returnBlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
private object UserList(RestVerbs verbs, IParameterCollection parameters)
|
private object UserList(RestVerbs verbs, IParameterCollection parameters)
|
||||||
{
|
{
|
||||||
var ret = new RestObject("200");
|
var ret = new RestObject("200");
|
||||||
string playerlist = "";
|
string playerlist = "";
|
||||||
foreach (var TSPlayer in TShock.Players)
|
foreach (var TSPlayer in TShock.Players)
|
||||||
{
|
{
|
||||||
if (playerlist == "")
|
if (playerlist == "")
|
||||||
{
|
{
|
||||||
playerlist += TSPlayer.UserAccountName;
|
playerlist += TSPlayer.UserAccountName;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
playerlist += ", " + TSPlayer.UserAccountName;
|
playerlist += ", " + TSPlayer.UserAccountName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ret["activeuesrs"] = playerlist;
|
ret["activeuesrs"] = playerlist;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
private object BanDestroy(RestVerbs verbs, IParameterCollection parameters)
|
private object BanDestroy(RestVerbs verbs, IParameterCollection parameters)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue