namespace SlipItIn.Shared.Models; public enum ChallengeStatus { Pending, // Beschuldigung eingegangen, wartet auf Bestätigung/Ablehnung Approved, // Beschuldigung war berechtigt → Phrase bleibt beim Beschuldiger Rejected // Beschuldigung falsch → Beschuldiger erhält die Phrase } public class SlipChallenge { public int Id { get; set; } public int GameRoundId { get; set; } public int ChallengingPlayerId { get; set; } // Wer beschuldigt public int TargetPlayerId { get; set; } // Wer beschuldigt wird public int TargetCardId { get; set; } // Welche Phrase wird als falsch behauptet public ChallengeStatus Status { get; set; } = ChallengeStatus.Pending; public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime? ResolvedAt { get; set; } // Navigation public GameRound GameRound { get; set; } = null!; public Player ChallengingPlayer { get; set; } = null!; // Der Beschuldiger public Player TargetPlayer { get; set; } = null!; // Der Beschuldigte public PlayerCard TargetCard { get; set; } = null!; // Die angefochtene Phrase }