ProjectLighthouse/ProjectLighthouse.Servers.API/Controllers/RpcController.cs
koko e072201ec7
Implement basic RPC configuration API endpoint (#864)
* Implement basic RPC information endpoint with test data

* Implement configuration options for RPC

* Rename RpcConfiguration to RpcResponse

* Rider insists on modifying dataSources.xml

* Implement documentation and fix code quality/gitignore issues

* Use SerializableAttribute instead of UsedImplicitlyAttribute

* Add warning regarding nullable assets

* Prevent precision issues with application ID

* Check asset properties for null/whitespace and return null
2023-08-12 22:27:45 +00:00

18 lines
No EOL
741 B
C#

using LBPUnion.ProjectLighthouse.Configuration;
using LBPUnion.ProjectLighthouse.Servers.API.Responses;
using Microsoft.AspNetCore.Mvc;
namespace LBPUnion.ProjectLighthouse.Servers.API.Controllers;
public class RpcController : ApiEndpointController
{
/// <summary>
/// Returns basic information that Discord RPC clients can use for self-configuration.
/// </summary>
/// <returns>RpcResponse</returns>
/// <response code="200">The RPC configuration.</response>
[HttpGet("rpc")]
[ProducesResponseType(typeof(RpcResponse), StatusCodes.Status200OK)]
public IActionResult GetRpcConfiguration() =>
this.Ok(RpcResponse.CreateFromConfiguration(ServerConfiguration.Instance.RichPresenceConfiguration));
}