using Nop.Web.Framework.Mvc.ModelBinding;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Nop.Plugin.Misc.FruitBankPlugin.Areas.Admin.Models
{
    public record ConfigureModel
    {
        [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.ApiKey")]
        public string ApiKey { get; set; } = string.Empty;

        [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.ModelName")]
        public string ModelName { get; set; } = string.Empty;

        [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.ApiKey")]
        public string OpenAIApiKey { get; set; } = string.Empty;

        [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.ModelName")]
        public string OpenAIModelName { get; set; } = string.Empty;

        [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.IsEnabled")]
        public bool IsEnabled { get; set; }

        [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.ApiBaseUrl")]
        public string ApiBaseUrl { get; set; } = string.Empty;

        [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.ApiBaseUrl")]
        public string OpenAIApiBaseUrl { get; set; } = string.Empty;

        [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.MaxTokens")]
        public int MaxTokens { get; set; }

        [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.Temperature")]
        public decimal Temperature { get; set; }

        [NopResourceDisplayName("Plugins.FruitBankPlugin.Fields.RequestTimeoutSeconds")]
        public int RequestTimeoutSeconds { get; set; }
    }
}

