using System.Collections.Generic;

namespace MarcusLaw.OutlookAddin.Core.Models
{
    /// <summary>
    /// Outlook-independent representation of a mail folder, used to pass
    /// the user's folder hierarchy from the host project (which can touch
    /// Outlook COM) into the UI project (which cannot).
    /// </summary>
    public sealed class FolderTreeNode
    {
        public string StoreId { get; set; } = string.Empty;

        public string FolderPath { get; set; } = string.Empty;

        public string DisplayName { get; set; } = string.Empty;

        public string StoreDisplayName { get; set; } = string.Empty;

        public int Depth { get; set; }

        public List<FolderTreeNode> Children { get; set; } = new List<FolderTreeNode>();
    }
}
