From c51ff4e755f009ca0bc8e935a92c04e583c4ee8a Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Tue, 17 Mar 2026 03:04:36 +1100 Subject: Initial commit --- Controllers/ApiStatisticsController.cs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Controllers/ApiStatisticsController.cs (limited to 'Controllers/ApiStatisticsController.cs') 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