mirror of
https://github.com/LBPUnion/ProjectLighthouse.git
synced 2025-07-27 15:38:39 +00:00
Implement refresh autodiscover
This commit is contained in:
parent
aeba706391
commit
91e10d2dab
4 changed files with 48 additions and 1 deletions
|
@ -0,0 +1,26 @@
|
||||||
|
using LBPUnion.ProjectLighthouse.Configuration;
|
||||||
|
using LBPUnion.ProjectLighthouse.Servers.Website.Types;
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
|
namespace LBPUnion.ProjectLighthouse.Servers.Website.Controllers;
|
||||||
|
|
||||||
|
[ApiController]
|
||||||
|
public class AutoDiscoverController: ControllerBase
|
||||||
|
{
|
||||||
|
[ResponseCache(Duration = 86400)]
|
||||||
|
[HttpGet("/autodiscover")]
|
||||||
|
[Produces("application/json")]
|
||||||
|
public IActionResult AutoDiscover()
|
||||||
|
{
|
||||||
|
AutoDiscoverResponse resp = new()
|
||||||
|
{
|
||||||
|
Version = 3,
|
||||||
|
Url = ServerConfiguration.Instance.GameApiExternalUrl,
|
||||||
|
ServerBrand = ServerConfiguration.Instance.Customization.ServerName,
|
||||||
|
UsesCustomDigestKey = false,
|
||||||
|
BannerImageUrl = null,
|
||||||
|
ServerDescription = ServerConfiguration.Instance.Customization.ServerDescription,
|
||||||
|
};
|
||||||
|
return this.Ok(resp);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
|
namespace LBPUnion.ProjectLighthouse.Servers.Website.Types;
|
||||||
|
|
||||||
|
public record AutoDiscoverResponse
|
||||||
|
{
|
||||||
|
[JsonProperty("version")]
|
||||||
|
public uint Version { get; set; }
|
||||||
|
[JsonProperty("serverBrand")]
|
||||||
|
public string ServerBrand { get; set; }
|
||||||
|
[JsonProperty("serverDescription")]
|
||||||
|
public string ServerDescription { get; set; }
|
||||||
|
[JsonProperty("url")]
|
||||||
|
public string Url { get; set; }
|
||||||
|
[JsonProperty("bannerImageUrl")]
|
||||||
|
public string? BannerImageUrl { get; set; }
|
||||||
|
[JsonProperty("usesCustomDigestKey")]
|
||||||
|
public bool UsesCustomDigestKey { get; set; }
|
||||||
|
}
|
|
@ -4,4 +4,5 @@ public class CustomizationConfiguration
|
||||||
{
|
{
|
||||||
public string ServerName { get; set; } = "Project Lighthouse";
|
public string ServerName { get; set; } = "Project Lighthouse";
|
||||||
public string EnvironmentName { get; set; } = "project-lighthouse";
|
public string EnvironmentName { get; set; } = "project-lighthouse";
|
||||||
|
public string ServerDescription { get; set; } = "A Project Lighthouse Server";
|
||||||
}
|
}
|
|
@ -11,7 +11,7 @@ public class ServerConfiguration : ConfigurationBase<ServerConfiguration>
|
||||||
// This is so Lighthouse can properly identify outdated configurations and update them with newer settings accordingly.
|
// This is so Lighthouse can properly identify outdated configurations and update them with newer settings accordingly.
|
||||||
// If you are modifying anything here, this value MUST be incremented.
|
// If you are modifying anything here, this value MUST be incremented.
|
||||||
// Thanks for listening~
|
// Thanks for listening~
|
||||||
public override int ConfigVersion { get; set; } = 30;
|
public override int ConfigVersion { get; set; } = 31;
|
||||||
|
|
||||||
public override string ConfigName { get; set; } = "lighthouse.yml";
|
public override string ConfigName { get; set; } = "lighthouse.yml";
|
||||||
public string WebsiteListenUrl { get; set; } = "http://localhost:10060";
|
public string WebsiteListenUrl { get; set; } = "http://localhost:10060";
|
||||||
|
@ -31,6 +31,7 @@ public class ServerConfiguration : ConfigurationBase<ServerConfiguration>
|
||||||
public bool CheckForUnsafeFiles { get; set; } = true;
|
public bool CheckForUnsafeFiles { get; set; } = true;
|
||||||
public bool LogChatFiltering { get; set; } = false;
|
public bool LogChatFiltering { get; set; } = false;
|
||||||
public bool LogChatMessages { get; set; } = false;
|
public bool LogChatMessages { get; set; } = false;
|
||||||
|
|
||||||
public AuthenticationConfiguration Authentication { get; set; } = new();
|
public AuthenticationConfiguration Authentication { get; set; } = new();
|
||||||
public CaptchaConfiguration Captcha { get; set; } = new();
|
public CaptchaConfiguration Captcha { get; set; } = new();
|
||||||
public DigestKeyConfiguration DigestKey { get; set; } = new();
|
public DigestKeyConfiguration DigestKey { get; set; } = new();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue