//-----------------------------------------------------------------------
//
// Copyright (c) aliasvault. All rights reserved.
// Licensed under the AGPLv3 license. See LICENSE.md file in the project root for full license information.
//
//-----------------------------------------------------------------------
namespace AliasVault.Client.Main.Models;
using AliasClientDb;
///
/// Folder tree node with hierarchical structure.
///
public class FolderTreeNode
{
///
/// Gets or sets the folder entity.
///
public required Folder Folder { get; set; }
///
/// Gets or sets the child folder nodes.
///
public List Children { get; set; } = new();
///
/// Gets or sets the depth of this folder in the hierarchy (0 = root).
///
public int Depth { get; set; }
///
/// Gets or sets the array of folder IDs from root to this folder.
///
public List Path { get; set; } = new();
///
/// Gets the folder name with indentation based on depth.
///
public string IndentedName => new string(' ', Depth * 2) + Folder.Name;
}