From cfd9959de69f9ab52e846e8acd232dc30d20aa27 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Mon, 25 May 2026 23:42:04 +1000 Subject: Added ApiStatisticsController --- Controllers/ApiStatisticsController.cs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Controllers/ApiStatisticsController.cs (limited to 'Controllers') diff --git a/Controllers/ApiStatisticsController.cs b/Controllers/ApiStatisticsController.cs new file mode 100644 index 0000000..3acd1d5 --- /dev/null +++ b/Controllers/ApiStatisticsController.cs @@ -0,0 +1,26 @@ +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(), + }); + } +} -- cgit v1.3