namespace SicboSub.Api.DTO
{
    /// <summary>
    /// Request model for loading coin packages
    /// </summary>
    public class PackageLoadReq
    {
        /// <summary>
        /// Language code (en, vi, lo)
        /// </summary>
        public string? lang { get; set; }

        /// <summary>
        /// Page number for pagination (0-based)
        /// </summary>
        public int pageNumber { get; set; } = 0;

        /// <summary>
        /// Number of items per page
        /// </summary>
        public int pageSize { get; set; } = 20;
    }

    /// <summary>
    /// Request model for loading exchange configurations
    /// </summary>
    public class ExchangeConfigLoadReq
    {
        /// <summary>
        /// Language code (en, vi, lo)
        /// </summary>
        public string? lang { get; set; }

        /// <summary>
        /// Page number for pagination (0-based)
        /// </summary>
        public int pageNumber { get; set; } = 0;

        /// <summary>
        /// Number of items per page
        /// </summary>
        public int pageSize { get; set; } = 20;
    }

    /// <summary>
    /// Request model for registration
    /// </summary>
    public class RegisterReq
    {
        public string msisdn { get; set; } = null!;
        public string packageCode { get; set; } = null!;
        public string? lang { get; set; }
    }

    /// <summary>
    /// Request model for buying more coins/packages
    /// </summary>
    public class BuyMoreReq
    {
        public string msisdn { get; set; } = null!;
        public string packageCode { get; set; } = null!;
        public string? lang { get; set; }
    }
}
