diff options
| author | Jake Mannens <jake@asger.xyz> | 2026-03-17 03:04:36 +1100 |
|---|---|---|
| committer | Jake Mannens <jake@asger.xyz> | 2026-06-07 12:32:37 +1000 |
| commit | c51ff4e755f009ca0bc8e935a92c04e583c4ee8a (patch) | |
| tree | 0a9a311c5404a96495df1047e613dc3aea3d0f15 /Controllers/ApiStatisticsController.cs | |
Initial commit
Diffstat (limited to 'Controllers/ApiStatisticsController.cs')
| -rw-r--r-- | Controllers/ApiStatisticsController.cs | 26 |
1 files changed, 26 insertions, 0 deletions
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<HBContext> dbFactory; + + public ApiStatisticsController(IDbContextFactory<HBContext> dbFactory) => + this.dbFactory = dbFactory; + + [HttpGet("ingest")] + public async Task<IActionResult> 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(), + }); + } +} |
