using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json;
namespace Oqtane.Models
{
///
/// Describes a Folder in Oqtane
///
public class Folder : ModelBase
{
///
/// 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; }
///
/// List of image sizes which can be generated dynamically from uploaded images (ie. 200x200,x200,200x)
///
public string ImageSizes { get; set; }
///
/// Maximum folder capacity (in bytes)
///
public int Capacity { get; set; }
///
/// Folder is a dependency of the framework and cannot be modified or removed
///
public bool IsSystem { get; set; }
///
/// Deprecated - not used
///
public bool? IsDeleted { get; set; }
///
/// TODO: todoc what would this contain?
///
[NotMapped]
public List PermissionList { 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; }
[Obsolete("The Permissions property is deprecated. Use PermissionList instead", false)]
[NotMapped]
public string Permissions
{
get
{
return JsonSerializer.Serialize(PermissionList);
}
set
{
PermissionList = JsonSerializer.Deserialize>(Permissions);
}
}
}
}