using System.Text.Json.Serialization;

namespace MarcusLaw.OutlookAddin.Core.Configuration
{
    public enum WatchMode
    {
        AutoFile = 0,
        NotifyOnly = 1
    }

    public sealed class WatchedFolder
    {
        [JsonPropertyName("storeId")]
        public string StoreId { get; set; } = string.Empty;

        [JsonPropertyName("folderPath")]
        public string FolderPath { get; set; } = string.Empty;

        [JsonPropertyName("defaultParentId")]
        public string? DefaultParentId { get; set; }

        [JsonPropertyName("defaultParentType")]
        public string? DefaultParentType { get; set; }

        [JsonPropertyName("mode")]
        public WatchMode Mode { get; set; } = WatchMode.NotifyOnly;

        [JsonPropertyName("confidenceThreshold")]
        public double ConfidenceThreshold { get; set; } = 0.8;
    }
}
