Files
2026-10-14 06:59:51 +02:00

54 lines
2.0 KiB
C#

using Newtonsoft.Json;
namespace Campus_live_rewrite.api.server
{
public class Moderation_Detail
{
public class ModerationBlockDetails
{
public Moderation_Detail.ReportCategory ReportCategory { get; set; } = Moderation_Detail.ReportCategory.Unknown;
public int Duration { get; set; } = 0;
public long GameSessionId { get; set; } = 0;
public bool? IsHostKick { get; set; } = false;
public string? Message { get; set; } = "";
public ulong? PlayerIdReporter { get; set; } = null;
public bool? IsBan { get; set; } = false;
// The rest of the 16-key 2025 DTO (wire-shapes: playerreporting-moderationblockdetails).
// IsWarning is what turns the kick frame into a warning dialog instead of a removal.
public bool IsVoiceModAutoban { get; set; } = false;
public bool IsDeviceBan { get; set; } = false;
public bool IsWarning { get; set; } = false;
public string? VoteKickReason { get; set; } = null;
public DateTime? TimeoutStartedAt { get; set; } = null;
[JsonIgnore]
public long ModerationSetUnixTime { get; set; } = 0;
[JsonIgnore]
public ulong BannedByPlayerId { get; set; } = 0;
}
public enum ReportCategory
{
Moderator = -1,
Unknown,
DEPRECATED_MicrophoneAbuse,
Harassment,
Cheating,
DEPRECATED_ImmatureBehavior,
AFK,
Misc,
Underage,
VoteKick = 10,
MisleadingPurchases = 11,
CoC_Underage = 100,
CoC_Sexual,
CoC_Discrimination,
CoC_Trolling,
CoC_NameOrProfile,
InappropriateClothing = 200,
IssuingInaccurateReports = 1000,
RoomInventoryItems = 1100,
InappropriateRooms = 1101
}
}
}