using System; using System.ComponentModel.DataAnnotations.Schema; namespace Oqtane.Models { /// /// Describes a Folder in Oqtane /// public class Folder : IAuditable { /// /// ID to identify the folder /// public int FolderId { get; set; } /// /// Reference to the . /// public int SiteId { get; set; } /// /// Reference to the parent , if it has a parent folder. /// public int? ParentId { get; set; } /// /// Folder type - based on FolderTypes /// public string Type { get; set; } /// /// Folder name /// public string Name { get; set; } /// /// Path to the folder /// TODO: document from where the path starts /// public string Path { get; set; } /// /// Sorting order of the folder /// public int Order { get; set; } /// /// TODO: unclear what this is for /// public bool IsSystem { get; set; } #region IAuditable Properties /// public string CreatedBy { get; set; } /// public DateTime CreatedOn { get; set; } /// public string ModifiedBy { get; set; } /// public DateTime ModifiedOn { get; set; } #endregion #region Extended IAuditable Properties, may be moved to an Interface some day so not documented yet public string DeletedBy { get; set; } public DateTime? DeletedOn { get; set; } public bool IsDeleted { get; set; } #endregion /// /// TODO: todoc what would this contain? /// [NotMapped] public string Permissions { get; set; } /// /// Folder Depth /// TODO: todoc Where does this start, so Depth 0 or 1 is where in the file system? /// [NotMapped] public int Level { get; set; } /// /// Information if this folder has sub-items like more or objects /// [NotMapped] public bool HasChildren { get; set; } } }