Files
WebDrop/server/src/WebDrop.Core/Enums.cs
T

69 lines
1.4 KiB
C#

using System.Text.Json.Serialization;
namespace WebDrop.Core;
[JsonConverter(typeof(JsonStringEnumConverter<ChannelMode>))]
public enum ChannelMode : byte
{
[JsonStringEnumMemberName("enc")] Enc = 1,
[JsonStringEnumMemberName("raw")] Raw = 2,
}
[JsonConverter(typeof(JsonStringEnumConverter<CryptoDomain>))]
public enum CryptoDomain : byte
{
[JsonStringEnumMemberName("chat")] Chat = 1,
[JsonStringEnumMemberName("files")] Files = 2,
}
[JsonConverter(typeof(JsonStringEnumConverter<JoinPolicy>))]
public enum JoinPolicy : byte
{
[JsonStringEnumMemberName("open")] Open = 1,
[JsonStringEnumMemberName("invite")] Invite = 2,
}
[JsonConverter(typeof(JsonStringEnumConverter<DeletePolicy>))]
public enum DeletePolicy : byte
{
[JsonStringEnumMemberName("owner_only")] OwnerOnly = 0,
[JsonStringEnumMemberName("own")] Own = 1,
[JsonStringEnumMemberName("anyone")] Anyone = 2,
}
/// <summary>请求声明并通过验证的角色,数值越大权限越高。</summary>
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,
}