using YD_Event.Core.Enum;
namespace YD_Event.Core.Entities;
///
/// 系统菜单表
///
public class SysMenu : Entity, IAvailability, ISortable, ICreatedUserId, ISoftDelete, ICreatedTime
{
///
/// 菜单名称
///
[SugarColumn(Length = 32)]
public string Name { get; set; }
///
/// 菜单类型
///
public MenuType Type { get; set; }
///
/// 权限编码
///
[SugarColumn(Length = 128)]
public string? Code { get; set; }
///
/// 父级菜单
///
public long? ParentId { get; set; }
///
/// 路由名
///
[SugarColumn(Length = 32)]
public string? RouteName { get; set; }
///
/// 路由地址
///
[SugarColumn(Length = 128)]
public string? Path { get; set; }
///
/// 组件路径
///
[SugarColumn(Length = 128)]
public string? Component { get; set; }
///
/// 重定向地址
///
[SugarColumn(Length = 128)]
public string? Redirect { get; set; }
///
/// 菜单图标
///
[SugarColumn(Length = 64)]
public string? Icon { get; set; }
///
/// 是否内嵌页面
///
public bool IsIframe { get; set; }
///
/// 外链地址
///
[SugarColumn(Length = 256)]
public string? Link { get; set; }
///
/// 是否可见
///
public bool IsVisible { get; set; }
///
/// 是否缓存
///
public bool IsKeepAlive { get; set; }
///
/// 是否固定
///
public bool IsFixed { get; set; }
///
/// 可用状态
///
public AvailabilityStatus Status { get; set; }
///
/// 排序值(值越小越靠前)
///
public int Sort { get; set; }
///
/// 备注
///
[SugarColumn(Length = 256)]
public string? Remark { get; set; }
///
/// 创建人
///
public long CreatedUserId { get; set; }
///
/// 标记删除
///
public bool DeleteMark { get; set; }
///
/// 创建时间
///
public DateTime CreatedTime { get; set; }
///
/// 子菜单
///
[SugarColumn(IsIgnore = true)]
public List Children { get; set; } = new();
}