using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using ReportingServices.Shared.Models.ProductionReport;
using ReportingServices.Shared.Repositories;

namespace ReportingServices.API.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class FabTimeController : ControllerBase
    {
        private readonly IFabTimeReportingRepository _fabTimeReportingRepository;

        public FabTimeController(IFabTimeReportingRepository fabTimeReportingRepository)
        {
            _fabTimeReportingRepository = fabTimeReportingRepository;
        }

        [HttpGet("ReactorOuts")]
        public async Task<List<ReactorOutsByRDS>> GetReactorOuts(string startDate, string endDate)
        {
            return await _fabTimeReportingRepository.GetMovesTrendData(startDate, endDate);
        }

        [HttpGet("ToolStateTrend")]
        public async Task<List<EquipmentStateByDay>> GetToolStateTrendData(string toolType)
        {
            return await _fabTimeReportingRepository.GetToolStateTrendData(toolType);
        }

        [HttpGet("ToolState")]
        public async Task<List<ToolStateCurrent>> GetToolStateData(string toolType)
        {
            return await _fabTimeReportingRepository.GetToolStateData(toolType);
        }
    }
}