using System.Text.Json.Serialization; using RadicadeServer.RecNet.Enums; namespace RadicadeServer.RecNet.Events { public class PlayerEvent { public long PlayerEventId { get; set; } public string Name { get; set; } = null!; public string Description { get; set; } = null!; public string ImageName { get; set; } = null!; [JsonConverter(typeof(EventClock.Json))] public DateTime StartTime { get; set; } [JsonConverter(typeof(EventClock.Json))] public DateTime EndTime { get; set; } public long CreatorPlayerId { get; set; } public int AttendeeCount { get; set; } public long RoomId { get; set; } public long? SubRoomId { get; set; } public Accessibility Accessibility { get; set; } public long? ClubId { get; set; } public int State { get; set; } = 0; public List Tags { get; set; } = []; [JsonConverter(typeof(EventClock.Json))] public DateTime CreatedAt { get; set; } public int PlayerCount { get; set; } public bool IsFull { get; set; } public bool IsMultiInstance { get; set; } = false; public bool SupportMultiInstanceRoomChat { get; set; } = false; public int DefaultBroadcastPermissions { get; set; } = 0; public int CanRequestBroadcastPermissions { get; set; } = 0; public long? BroadcastingRoomInstanceId { get; set; } } public class PlayerEventTag { public string Tag { get; set; } = string.Empty; public int Type { get; set; } } }