using Foxchat.Core.Models.Http; 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 db, ChatInstanceResolverService chatInstanceResolverService) : ControllerBase { public const string SOFTWARE_NAME = "Foxchat.NET.Identity"; [HttpGet] public async Task GetNode() { var instance = await db.GetInstanceAsync(); return Ok(new Hello.NodeInfo(SOFTWARE_NAME, instance.PublicKey)); } [HttpGet("{domain}")] public async Task GetChatNode(string domain) { var instance = await chatInstanceResolverService.ResolveChatInstanceAsync(domain); return Ok(instance); } }