using System.Collections.Generic; using System.Text.Json.Serialization; namespace CheatScanner.Models; public class Detection { [JsonPropertyName("rule_id")] public string RuleId { get; set; } = ""; [JsonPropertyName("severity")] public string Severity { get; set; } = "WARNING"; [JsonPropertyName("name")] public string Name { get; set; } = ""; [JsonPropertyName("description")] public string Description { get; set; } = ""; [JsonPropertyName("evidence")] public string Evidence { get; set; } = ""; [JsonPropertyName("matched_by")] public string MatchedBy { get; set; } = ""; } public class ScanReport { [JsonPropertyName("hwid")] public string Hwid { get; set; } = ""; [JsonPropertyName("scan_version")] public string ScanVersion { get; set; } = "1.0.0"; [JsonPropertyName("timestamp")] public string Timestamp { get; set; } = ""; [JsonPropertyName("player_name")] public string PlayerName { get; set; } = ""; [JsonPropertyName("steam_id")] public string SteamId { get; set; } = ""; [JsonPropertyName("game_running")] public string GameRunning { get; set; } = ""; [JsonPropertyName("detections")] public List Detections { get; set; } = new(); [JsonPropertyName("process_list")] public List ProcessList { get; set; } = new(); [JsonIgnore] public bool IsClean => Detections.Count == 0; }