using NetAdmin.Domain.DbMaps.Dependency.Fields;
using NetAdmin.Domain.DbMaps.Sys;
namespace NetAdmin.Domain.Dto.Sys.Menu;
///
/// 信息:菜单
///
public sealed record QueryMenuRsp : Sys_Menu, IRegister
{
///
/// 元数据
///
public MetaInfo Meta => new(Color, FullPageRouting, Hidden, HiddenBreadCrumb, Icon, Tag, Title, Type);
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string Active { get; init; }
///
public new IEnumerable Children { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string Component { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override bool FullPageRouting { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override bool Hidden { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override bool HiddenBreadCrumb { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override long Id { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string Name { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override long ParentId { get; init; }
///
[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; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override long Version { get; init; }
///
public void Register(TypeAdapterConfig config)
{
_ = config.ForType() //
.Map(d => d.Path, s => s.Path ?? string.Empty)
//
;
}
}