using HyperBooru.ApiModels; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; namespace HyperBooru.Controllers; [ApiController] [Route("/api/stats")] public class ApiStatisticsController : Controller { private IDbContextFactory dbFactory; public ApiStatisticsController(IDbContextFactory dbFactory) => this.dbFactory = dbFactory; [HttpGet("ingest")] public async Task GetIngestStatistics() { using var db = dbFactory.CreateDbContext(); return Ok(new IngestStatistics() { TotalMediaCount = db.Media.Count(), UntaggedMediaCount = db.Media .Where(m => m.Tags.Any(t => t.TagDefinition.ObjectId == (int) HBObjectId.IngestTag)) .Count(), }); } }