using NetAdmin.Domain.DbMaps.Dependency.Fields;
using NetAdmin.Domain.DbMaps.Sys;
using NetAdmin.Domain.Enums.Sys;
namespace NetAdmin.Domain.Dto.Sys.Menu;
///
/// 请求:创建菜单
///
public record CreateMenuReq : Sys_Menu
{
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string Active { get; init; }
///
public override string Color => Meta.Color;
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string Component { get; init; }
///
public override bool FullPageRouting => Meta.FullPage;
///
public override bool Hidden => Meta.Hidden;
///
public override bool HiddenBreadCrumb => Meta.HiddenBreadCrumb;
///
public override string Icon => Meta.Icon;
///
/// 元数据
///
public MetaInfo Meta { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
[Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.菜单名称不能为空))]
public override string Name { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override long ParentId { get; init; } = 0;
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string Path { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string Redirect { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override long Sort { get; init; } = Numbers.DEF_SORT_VAL;
///
public override string Tag => Meta.Tag;
///
[Required(ErrorMessageResourceType = typeof(Ln), ErrorMessageResourceName = nameof(Ln.菜单标题不能为空))]
public override string Title => Meta.Title;
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override MenuTypes Type => Meta.Type;
}