using Microsoft.AspNetCore.Mvc;
using OI.Metrology.Shared.Models.Stateless;

namespace OI.Metrology.Server.ApiControllers;

[ApiController]
[Route("api/[controller]")]
public class ClientSettingsController : ControllerBase, IClientSettingsController<ActionResult>
{

    private readonly IClientSettingsRepository _ClientSettingsRepository;

    public ClientSettingsController(IClientSettingsRepository clientSettingsRepository) => _ClientSettingsRepository = clientSettingsRepository;

    [HttpGet(nameof(IClientSettingsController<ActionResult>.Action.Client))]
    public ActionResult GetClientSettings()
    {
        List<string> results = _ClientSettingsRepository.GetClientSettings(Request.HttpContext.Connection?.RemoteIpAddress);
        return Ok(results);
    }

    [HttpGet(nameof(IClientSettingsController<ActionResult>.Action.IP))]
    public ActionResult GetIpAddress()
    {
        string result = _ClientSettingsRepository.GetIpAddress(Request.HttpContext.Connection?.RemoteIpAddress);
        return Ok(result);
    }

}