//----------------------------------------------------------------------- // // 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; }