namespace LittleShop.Configuration; /// /// Configuration options for GDPR data retention enforcement /// public class DataRetentionOptions { public const string SectionName = "DataRetention"; /// /// Enable automatic data retention enforcement /// public bool Enabled { get; set; } = true; /// /// Time of day to run cleanup (24-hour format, e.g., "02:00" for 2 AM) /// public string CleanupTime { get; set; } = "02:00"; /// /// Interval in hours to check for data retention (default: 24 hours) /// public int CheckIntervalHours { get; set; } = 24; /// /// Default retention period in days for active customers (default: 730 days = 2 years) /// public int DefaultRetentionDays { get; set; } = 730; /// /// Retention period in days after customer requests deletion (default: 30 days) /// public int DeletionGracePeriodDays { get; set; } = 30; /// /// Maximum number of customers to process per cleanup run (prevent long-running jobs) /// public int MaxCustomersPerRun { get; set; } = 100; /// /// Enable dry-run mode (log what would be deleted without actually deleting) /// public bool DryRunMode { get; set; } = false; /// /// Enable admin notification before deletion (requires notification service) /// public bool NotifyAdminBeforeDeletion { get; set; } = true; /// /// Days before deletion to send admin notification /// public int NotificationDaysBeforeDeletion { get; set; } = 7; }