using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using ROLAC.API.Services; namespace ROLAC.API.Controllers; [ApiController] [Route("api/finance-dashboard")] [Authorize(Roles = "finance,super_admin")] public class FinanceDashboardController : ControllerBase { private readonly IFinanceDashboardService _svc; public FinanceDashboardController(IFinanceDashboardService svc) => _svc = svc; [HttpGet("summary")] public async Task Summary() => Ok(await _svc.GetSummaryAsync()); [HttpGet("income-expense")] public async Task IncomeExpense([FromQuery] DateOnly? from, [FromQuery] DateOnly? to) => Ok(await _svc.GetIncomeExpenseAsync(from, to)); [HttpGet("expense-breakdown")] public async Task ExpenseBreakdown( [FromQuery] DateOnly? from, [FromQuery] DateOnly? to, [FromQuery] int? ministryId, [FromQuery] int? categoryGroupId) => Ok(await _svc.GetExpenseBreakdownAsync(from, to, ministryId, categoryGroupId)); }