This commit is contained in:
sam 2024-05-11 15:26:47 +02:00
commit f6629fbb33
Signed by: sam
GPG key ID: B4EF20DDE721CAA1
32 changed files with 1608 additions and 0 deletions

View file

@ -0,0 +1,27 @@
using Foxchat.Core.Models;
using Foxchat.Identity.Database;
using Foxchat.Identity.Services;
using Microsoft.AspNetCore.Mvc;
namespace Foxchat.Identity.Controllers;
[ApiController]
[Route("/_fox/ident/node")]
public class NodeController(IdentityContext context, ChatInstanceResolverService chatInstanceResolverService) : ControllerBase
{
public const string SOFTWARE_NAME = "Foxchat.NET.Identity";
[HttpGet]
public async Task<IActionResult> GetNode()
{
var instance = await context.GetInstanceAsync();
return Ok(new NodeInfo(SOFTWARE_NAME, instance.PublicKey));
}
[HttpGet("{domain}")]
public async Task<IActionResult> GetChatNode(string domain)
{
var instance = await chatInstanceResolverService.ResolveChatInstanceAsync(domain);
return Ok(instance);
}
}