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;
}