PluralKit/PluralKit.API/Controllers/v1/MetaController.cs
2021-09-29 22:30:20 -04:00

40 lines
940 B
C#

using System.Collections.Generic;
using System.Threading.Tasks;
using System.Linq;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using PluralKit.Core;
namespace PluralKit.API
{
[ApiController]
[ApiVersion("1.0")]
[Route("v{version:apiVersion}")]
public class MetaController: ControllerBase
{
private readonly IDatabase _db;
private readonly ModelRepository _repo;
public MetaController(IDatabase db, ModelRepository repo)
{
_db = db;
_repo = repo;
}
[HttpGet("meta")]
public async Task<ActionResult<JObject>> GetMeta()
{
await using var conn = await _db.Obtain();
var shards = await _repo.GetShards(conn);
var o = new JObject();
o.Add("shards", shards.ToJSON());
o.Add("version", BuildInfoService.Version);
return Ok(o);
}
}
}