using CloudBuilder.Core.Authorization; using CloudBuilder.Master.Entity; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CloudBuilder.Master.Data { [TypeScript] public class FamilyTreeData { public FamilyTreeDisplayData? FamilyTree { get; set; } public FamilyPersonData? CurrentPerson { get; set; } public bool IsManager { get; set; } = false; /// 已认证成员:存在绑定到自己且已生效(ValidIndc=YES)的权限行,前端据此控制成员/权限选项卡可见性 public bool IsMember { get; set; } = false; public bool IsCanAmend { get; set; } = false; /// 自己已生效权限行绑定的族员 PersonId(空串=已过审但未绑定),前端据此切换「绑定账号/解除绑定」按钮 public string SelfBindPersonId { get; set; } = ""; /// 当前用户在本谱可编的族员 PersonId 集合(家支主线,与 HasPermission 同源);管理员不限量不下发,前端按 IsManager 短路 public string[] CanAmendPersonIds { get; set; } = []; public FamilyTreePermissionUserViewEntity[]? FamilyTreePermissions { get; set; } } }