mirror of
https://github.com/JogmansonReal/Radicade.git
synced 2026-10-25 15:09:26 -07:00
Radicade Public Code
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.Cors;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using RadicadeServer.DB;
|
||||
using RadicadeServer.RecNet.Config;
|
||||
using RadicadeServer.Utils;
|
||||
|
||||
namespace RadicadeServer.Admin
|
||||
{
|
||||
[Route("admin/version")]
|
||||
[EnableCors("AdminPanel")]
|
||||
public class AdminVersionAPI(RecDBContext db) : Controller
|
||||
{
|
||||
private Task<IActionResult?> RejectInvalidKey(string key)
|
||||
{
|
||||
return Task.FromResult<IActionResult?>(key.IsAdminKey() ? null : Unauthorized("Invalid secret"));
|
||||
}
|
||||
|
||||
private async Task<IActionResult> SetServerConfigValue(string keyName, string key, string value)
|
||||
{
|
||||
var rejection = await RejectInvalidKey(key);
|
||||
if (rejection != null) return rejection;
|
||||
|
||||
var existingValue = await db.ServerConfig.FirstOrDefaultAsync(x => x.Key == keyName);
|
||||
|
||||
if (existingValue != null)
|
||||
{
|
||||
existingValue.Value = value;
|
||||
}
|
||||
else
|
||||
{
|
||||
await db.ServerConfig.AddAsync(new ServerConfigVal { Key = keyName, Value = value });
|
||||
}
|
||||
|
||||
await db.SaveChangesAsync();
|
||||
|
||||
return Ok("Set to: " + value);
|
||||
}
|
||||
|
||||
[HttpGet("setgameversion")]
|
||||
public async Task<IActionResult> SetGameVersion([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("GameVersion", key, value);
|
||||
}
|
||||
[HttpGet("setversion")]
|
||||
public async Task<IActionResult> SetVersion([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("BarrelVersion", key, value);
|
||||
}
|
||||
[HttpGet("setkey")]
|
||||
public async Task<IActionResult> SetKey([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("BarrelKey", key, value);
|
||||
}
|
||||
[HttpGet("setcheck")]
|
||||
public async Task<IActionResult> SetCheck([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("BarrelCheck", key, value);
|
||||
}
|
||||
[HttpGet("setmanifestversion")]
|
||||
public async Task<IActionResult> SetManifestVersion([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("ApprovedManifestVersion", key, value);
|
||||
}
|
||||
[HttpGet("setmanifestsha256")]
|
||||
public async Task<IActionResult> SetManifestSha256([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("ApprovedManifestSha256", key, value);
|
||||
}
|
||||
[HttpGet("setgamedownloadurl")]
|
||||
public async Task<IActionResult> SetGameDownloadUrl([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("GameDownloadUrl", key, value);
|
||||
}
|
||||
[HttpGet("setlaunchticket")]
|
||||
public async Task<IActionResult> SetLaunchTicket([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("LaunchTicket", key, value);
|
||||
}
|
||||
[HttpGet("setlaunchticketrequired")]
|
||||
public async Task<IActionResult> SetLaunchTicketRequired([FromQuery] string key, [FromQuery] bool value)
|
||||
{
|
||||
return await SetServerConfigValue("LaunchTicketRequired", key, value.ToString());
|
||||
}
|
||||
[HttpGet("setlaunchticketurl")]
|
||||
public async Task<IActionResult> SetLaunchTicketUrl([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("LaunchTicketUrl", key, value);
|
||||
}
|
||||
[HttpGet("setlaunchticketaudience")]
|
||||
public async Task<IActionResult> SetLaunchTicketAudience([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("LaunchTicketAudience", key, value);
|
||||
}
|
||||
[HttpGet("setlaunchticketnonce")]
|
||||
public async Task<IActionResult> SetLaunchTicketNonce([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("LaunchTicketNonce", key, value);
|
||||
}
|
||||
[HttpGet("setgamepackagesha256")]
|
||||
public async Task<IActionResult> SetGamePackageSha256([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("GamePackageSha256", key, value);
|
||||
}
|
||||
[HttpGet("setgamepackagesize")]
|
||||
public async Task<IActionResult> SetGamePackageSize([FromQuery] string key, [FromQuery] long value)
|
||||
{
|
||||
return await SetServerConfigValue("GamePackageSize", key, value.ToString());
|
||||
}
|
||||
[HttpGet("setgameextractsubdirectory")]
|
||||
public async Task<IActionResult> SetGameExtractSubdirectory([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("GameExtractSubdirectory", key, value);
|
||||
}
|
||||
[HttpGet("setlaunchermanifestnotes")]
|
||||
public async Task<IActionResult> SetLauncherManifestNotes([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("LauncherManifestNotes", key, value);
|
||||
}
|
||||
[HttpGet("setlaunchermanifestdelete")]
|
||||
public async Task<IActionResult> SetLauncherManifestDelete([FromQuery] string key, [FromQuery] string value)
|
||||
{
|
||||
return await SetServerConfigValue("LauncherManifestDelete", key, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user