// src/Webshop.Api/Controllers/Admin/AdminAnalyticsController.cs using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System.Threading.Tasks; using Webshop.Application.DTOs.Admin; using Webshop.Application.Services.Admin.Interfaces; namespace Webshop.Api.Controllers.Admin { /// /// Stellt aggregierte Analysedaten für das Admin-Dashboard bereit. /// [ApiController] [Route("api/v1/admin/[controller]")] [Authorize(Roles = "Admin")] public class AdminAnalyticsController : ControllerBase { private readonly IAdminAnalyticsService _analyticsService; public AdminAnalyticsController(IAdminAnalyticsService analyticsService) { _analyticsService = analyticsService; } /// /// Ruft die aggregierten Analysedaten und KPIs für den Admin-Bereich ab. /// /// Der Zeitraum für die Statistiken (Last7Days, Last30Days, AllTime). Standard ist Last30Days. [HttpGet] public async Task> GetAnalytics([FromQuery] AnalyticsPeriod period = AnalyticsPeriod.Last30Days) { var stats = await _analyticsService.GetAnalyticsAsync(period); return Ok(stats); } } }