using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using LittleShop.Services; namespace LittleShop.Areas.Admin.Controllers; [Area("Admin")] [Authorize(Policy = "AdminOnly")] public class ActivityController : Controller { private readonly IBotActivityService _activityService; private readonly ILogger _logger; public ActivityController(IBotActivityService activityService, ILogger logger) { _activityService = activityService; _logger = logger; } // GET: /Admin/Activity public IActionResult Index() { return View(); } // GET: /Admin/Activity/Live public IActionResult Live() { return View(); } // API endpoint for initial data load [HttpGet] public async Task GetSummary() { var summary = await _activityService.GetLiveActivitySummaryAsync(); return Json(summary); } // API endpoint for activity stats [HttpGet] public async Task GetStats(int hoursBack = 24) { var stats = await _activityService.GetActivityTypeStatsAsync(hoursBack); return Json(stats); } // API endpoint for recent activities [HttpGet] public async Task GetRecent(int minutesBack = 5) { var activities = await _activityService.GetRecentActivitiesAsync(minutesBack); return Json(activities); } }