using System.Text.Json.Serialization; namespace WebDrop.Core; [JsonConverter(typeof(JsonStringEnumConverter))] public enum ChannelMode : byte { [JsonStringEnumMemberName("enc")] Enc = 1, [JsonStringEnumMemberName("raw")] Raw = 2, } [JsonConverter(typeof(JsonStringEnumConverter))] public enum CryptoDomain : byte { [JsonStringEnumMemberName("chat")] Chat = 1, [JsonStringEnumMemberName("files")] Files = 2, } [JsonConverter(typeof(JsonStringEnumConverter))] public enum JoinPolicy : byte { [JsonStringEnumMemberName("open")] Open = 1, [JsonStringEnumMemberName("invite")] Invite = 2, } [JsonConverter(typeof(JsonStringEnumConverter))] public enum DeletePolicy : byte { [JsonStringEnumMemberName("owner_only")] OwnerOnly = 0, [JsonStringEnumMemberName("own")] Own = 1, [JsonStringEnumMemberName("anyone")] Anyone = 2, } /// 请求声明并通过验证的角色,数值越大权限越高。 public enum Role : byte { None = 0, Read = 1, Write = 2, Owner = 3, } [Flags] public enum FrameFlags : byte { None = 0, Final = 1, Snapshot = 2, Gated = 4, Enc = 8, Control = 16, } public enum LogKind : byte { Frame = 1, Tombstone = 2, Announce = 3, } public enum TombstoneReason : byte { Deleted = 0, Expired = 1, Evicted = 2, DownloadLimit = 3, Superseded = 4, }