using System.ComponentModel.DataAnnotations; using System.Text.Json.Serialization; using Cleanuparr.Domain.Enums; namespace Cleanuparr.Persistence.Models.Events; /// /// Stores structured data for SearchTriggered events. /// One record per searched item. /// public class SearchEventData { [Key] public Guid Id { get; set; } = Guid.CreateVersion7(); public Guid AppEventId { get; set; } [JsonIgnore] public AppEvent AppEvent { get; set; } = null!; [MaxLength(500)] public string ItemTitle { get; set; } = string.Empty; public SeekerSearchType SearchType { get; set; } public SeekerSearchReason SearchReason { get; set; } /// /// Titles of items grabbed after search completion, populated by SeekerCommandMonitor. /// public List GrabbedItems { get; set; } = []; }