using global::Nop.Core.Configuration;


namespace Nop.Plugin.Misc.FruitBankPlugin
{
    public class FruitBankSettings : ISettings
    {
        /// <summary>
        /// Gets or sets the AI API key
        /// </summary>
        public string ApiKey { get; set; } = string.Empty;

        /// <summary>
        /// Gets or sets the AI API model name
        /// </summary>
        public string ModelName { get; set; } = "gpt-3.5-turbo";

        /// <summary>
        /// Gets or sets the AI API key
        /// </summary>
        public string OpenAIApiKey { get; set; } = string.Empty;

        /// <summary>
        /// Gets or sets the AI API model name
        /// </summary>
        public string OpenAIModelName { get; set; } = "gpt-3.5-turbo";

        /// <summary>
        /// Gets or sets a value indicating whether the AI plugin is enabled
        /// </summary>
        public bool IsEnabled { get; set; } = false;

        /// <summary>
        /// Gets or sets the API base URL (useful for different AI providers)
        /// </summary>
        public string ApiBaseUrl { get; set; } = "https://api.openai.com/v1";

        /// <summary>
        /// Gets or sets the API base URL (useful for different AI providers)
        /// </summary>
        public string OpenAIApiBaseUrl { get; set; } = "https://api.openai.com/v1";

        /// <summary>
        /// Gets or sets the maximum number of tokens for AI responses
        /// </summary>
        public int MaxTokens { get; set; } = 1000;

        /// <summary>
        /// Gets or sets the temperature for AI responses (0.0 to 1.0)
        /// </summary>
        public decimal Temperature { get; set; } = 0.7m;

        /// <summary>
        /// Gets or sets the timeout for API requests in seconds
        /// </summary>
        public int RequestTimeoutSeconds { get; set; } = 30;

        // ── Z.ai GLM-OCR ─────────────────────────────────────────────────────────────

        /// <summary>
        /// Z.ai API kulcs a GLM-OCR dokumentumfeldolgozóhoz.
        /// Igénylés: https://bigmodel.cn
        /// </summary>
        public string ZaiApiKey { get; set; } = string.Empty;

        /// <summary>
        /// Z.ai GLM-OCR modell neve (default: "glm-ocr").
        /// </summary>
        public string ZaiModel { get; set; } = "glm-ocr";
    }
}

