using Fleet.Core; namespace Fleet.Server; /// pending 能连接,但不下发状态、不接收上报;disabled 拒绝连接。 public enum NodeStatus { Pending, Active, Disabled, } public sealed record NodeRecord( NodeId Id, string Name, NodeStatus Status, byte[] PublicKey, byte[] TlsSpki, IReadOnlyList Labels, string? MetaJson, string? NodeVersion, long CreatedAtMs, long? LastSeenAtMs); public sealed record NewNode( NodeId Id, string Name, NodeStatus Status, byte[] PublicKey, byte[] TlsSpki, IReadOnlyList Labels, string? MetaJson, string? NodeVersion, long NowMs); public sealed record JoinTokenRecord( string Id, byte[] TokenSha256, string? Note, IReadOnlyList Labels, bool AutoApprove, int MaxUses, int Uses, long ExpiresAtMs, long? RevokedAtMs, long CreatedAtMs); public sealed record Presence(bool Online, long AtMs, string? NodeVersion, IReadOnlyList Capabilities, string? HelloMetaJson);