using NetinaShop.Infrastructure.Models;

namespace NetinaShop.Infrastructure.RestServices;

public interface IRestApiWrapper : IScopedDependency
{
    IKaveNegarRestApi KaveNegarRestApi { get; }
    IZarinpalRestApi ZarinpalRestApi { get; }
    IDigikalaRestApi DigikalaRestApi { get; }
}

public class RestApiWrapper : IRestApiWrapper
{
    public IKaveNegarRestApi KaveNegarRestApi => RestService.For<IKaveNegarRestApi>(RestAddress.BaseKaveNegar);
    public IZarinpalRestApi ZarinpalRestApi => RestService.For<IZarinpalRestApi>(RestAddress.BaseZarinpal);
    public IDigikalaRestApi DigikalaRestApi => RestService.For<IDigikalaRestApi>(RestAddress.DigikalaApi);
}