diff --git a/src/Shared/AutopilotMonitor.Shared/DataAccess/IBootstrapRepository.cs b/src/Shared/AutopilotMonitor.Shared/DataAccess/IBootstrapRepository.cs index efedf96a..fc400200 100644 --- a/src/Shared/AutopilotMonitor.Shared/DataAccess/IBootstrapRepository.cs +++ b/src/Shared/AutopilotMonitor.Shared/DataAccess/IBootstrapRepository.cs @@ -14,5 +14,6 @@ namespace AutopilotMonitor.Shared.DataAccess Task> GetBootstrapSessionsAsync(string tenantId); Task RevokeBootstrapSessionAsync(string shortCode); Task IncrementBootstrapUsageAsync(string shortCode); + Task CleanupExpiredAsync(); } } diff --git a/src/Shared/AutopilotMonitor.Shared/DataAccess/IConfigRepository.cs b/src/Shared/AutopilotMonitor.Shared/DataAccess/IConfigRepository.cs index e0cab840..0655e606 100644 --- a/src/Shared/AutopilotMonitor.Shared/DataAccess/IConfigRepository.cs +++ b/src/Shared/AutopilotMonitor.Shared/DataAccess/IConfigRepository.cs @@ -26,5 +26,9 @@ namespace AutopilotMonitor.Shared.DataAccess // --- Preview Config --- Task> GetPreviewConfigAsync(); Task SavePreviewConfigAsync(string key, string value); + + // --- Preview Notification Email --- + Task GetNotificationEmailAsync(string tenantId); + Task SaveNotificationEmailAsync(string tenantId, string? email); } } diff --git a/src/Shared/AutopilotMonitor.Shared/DataAccess/INotificationRepository.cs b/src/Shared/AutopilotMonitor.Shared/DataAccess/INotificationRepository.cs index a570b513..df84d5b3 100644 --- a/src/Shared/AutopilotMonitor.Shared/DataAccess/INotificationRepository.cs +++ b/src/Shared/AutopilotMonitor.Shared/DataAccess/INotificationRepository.cs @@ -12,6 +12,7 @@ namespace AutopilotMonitor.Shared.DataAccess Task AddNotificationAsync(GlobalNotification notification); Task> GetNotificationsAsync(int maxResults = 50); Task DismissNotificationAsync(string notificationId, string dismissedBy); + Task DismissAllNotificationsAsync(); // --- Session Reports --- Task StoreSessionReportMetadataAsync(SessionReportMetadata metadata); @@ -25,7 +26,9 @@ namespace AutopilotMonitor.Shared.DataAccess public string NotificationId { get; set; } = string.Empty; public string Title { get; set; } = string.Empty; public string Message { get; set; } = string.Empty; + public string Type { get; set; } = "info"; public string Severity { get; set; } = "info"; + public string? Href { get; set; } public DateTime CreatedAt { get; set; } public string CreatedBy { get; set; } = string.Empty; public bool IsDismissed { get; set; }