namespace IRaCIS.Core.Domain.Models;

[Comment("后台 - 系统菜单 (需要同步)")]
[Table("Menu")]
public class Menu : BaseFullAuditEntity
{
    #region 导航属性
    [JsonIgnore]
    public List<UserTypeMenu> UserTypeMenuList { get; set; }
    #endregion
    [Comment("上级菜单")]
    public Guid? ParentId { get; set; } = Guid.Empty;

    [Comment("类型(M目录 C菜单 F按钮 L链接)")]
    public string MenuType { get; set; } = string.Empty;

    public string MenuIcon { get; set; } = string.Empty;

    public string MenuName { get; set; } = string.Empty;

    [Comment("路由地址")]
    public string Path { get; set; } = string.Empty;

    [Comment("组件路径")]
    public string Component { get; set; } = string.Empty;

    public int ShowOrder { get; set; }

    [Comment("启用 禁用")]
    public bool IsEnable { get; set; } = true;

    public bool IsCache { get; set; } = false;

    public bool IsDisplay { get; set; }

    public bool IsInTabDisplay { get; set; }

    public bool IsExternalLink { get; set; }

    [Comment("权限点")]
    public string PermissionStr { get; set; } = string.Empty;

    [Comment("Api 接口地址")]
    public string ApiPath { get; set; } = string.Empty;

    public string Note { get; set; } = string.Empty;

    public string Meta { get; set; } = string.Empty;

    public string Redirect { get; set; } = string.Empty;
    public string LanguageMark { get; set; } = string.Empty;
}