using Microsoft.AspNetCore.Mvc;
using SicboSub.Api.DTO;

namespace SicboSub.Api.Business
{
    /// <summary>
    /// Interface cho Exchange Business Logic
    /// </summary>
    public interface IExchangeBusiness
    {
        /// <summary>
        /// Yêu cầu OTP để thực hiện Exchange
        /// </summary>
        Task<IActionResult> RequestOtp(HttpRequest httpRequest, ExchangeRequestOtpReq request);

        /// <summary>
        /// Xác thực OTP và thực hiện Exchange
        /// </summary>
        Task<IActionResult> VerifyOtp(HttpRequest httpRequest, ExchangeVerifyOtpReq request);

        /// <summary>
        /// Gửi lại OTP (resend)
        /// </summary>
        Task<IActionResult> ResendOtp(HttpRequest httpRequest, ExchangeResendOtpReq request);

        /// <summary>
        /// Lấy lịch sử đổi thưởng
        /// </summary>
        Task<IActionResult> GetHistory(HttpRequest httpRequest, ExchangeHistoryReq request);
    }
}
