using Microsoft.AspNetCore.Mvc;
using ROLAC.API.Authorization;
using ROLAC.API.Services;

namespace ROLAC.API.Controllers;

[ApiController]
[Route("api/form990-report")]
[HasPermission(Modules.Form990Report, PermissionActions.Read)]
public class Form990ReportController : ControllerBase
{
    private readonly IForm990ReportService _svc;
    public Form990ReportController(IForm990ReportService svc) => _svc = svc;

    [HttpGet("lines")]
    public async Task<IActionResult> Lines() => Ok(await _svc.GetLinesAsync());

    [HttpGet("functional-expenses")]
    public async Task<IActionResult> FunctionalExpenses([FromQuery] DateOnly? from, [FromQuery] DateOnly? to)
        => Ok(await _svc.GetFunctionalExpenseStatementAsync(from, to));
}
