Files
skidfire fe3468c65d yikes,
2026-09-06 19:59:27 -04:00

52 lines
1.6 KiB
C#

using Microsoft.AspNetCore.Mvc;
using Vanadium.Auth;
using Vanadium.Classes;
using Vanadium.Classes.DBs;
using Vanadium.Classes.DBs.DBClasses;
using Vanadium.Hubs;
using static Vanadium.Classes.DBs.DBClasses.PlayerDBClasses;
using Vanadium.Utils.NotiController;
namespace Vanadium.Controllers
{
[ApiController]
public class DLLController : ControllerBase
{
private const string CurrentVersion = "1.0.0";
private const string DllFileName = "Vanadium.Patch.dll";
[HttpGet("/version")]
public IActionResult GetVersion()
{
var downloadUrl = $"{Request.Scheme}://{Request.Host}/download/{DllFileName}";
return Ok(new UpdateManifest
{
version = CurrentVersion,
downloadUrl = downloadUrl
});
}
[HttpGet("/download/{fileName}")]
public IActionResult DownloadDll(string fileName)
{
if (fileName != DllFileName)
return NotFound("");
var dllDir = Path.Combine(Directory.GetCurrentDirectory(), "UpdateFiles");
var filePath = Path.Combine(dllDir, fileName);
if (!System.IO.File.Exists(filePath))
return NotFound("");
var bytes = System.IO.File.ReadAllBytes(filePath);
return File(bytes, "application/octet-stream", fileName);
}
public class UpdateManifest
{
public string version { get; set; } = string.Empty;
public string downloadUrl { get; set; } = string.Empty;
}
}
}