using MediaBrowser.Model.Configuration; using System; using System.Collections.Generic; namespace MediaBrowser.Model.Notifications { public class Notification { public string Id { get; set; } public string UserId { get; set; } public DateTime Date { get; set; } public bool IsRead { get; set; } public string Name { get; set; } public string Description { get; set; } public string Url { get; set; } public NotificationLevel Level { get; set; } public Notification() { Date = DateTime.UtcNow; } } public class NotificationRequest { public string Name { get; set; } public string Description { get; set; } public string Url { get; set; } public NotificationLevel Level { get; set; } public List UserIds { get; set; } public DateTime Date { get; set; } /// /// The corresponding type name used in configuration. Not for display. /// public string NotificationType { get; set; } public Dictionary Variables { get; set; } public SendToUserType? SendToUserMode { get; set; } public List ExcludeUserIds { get; set; } public NotificationRequest() { UserIds = new List(); Date = DateTime.UtcNow; Variables = new Dictionary(StringComparer.OrdinalIgnoreCase); ExcludeUserIds = new List(); } } public class NotificationTypeInfo { public string Type { get; set; } public string Name { get; set; } public bool Enabled { get; set; } public string Category { get; set; } public bool IsBasedOnUserEvent { get; set; } public string DefaultTitle { get; set; } public string DefaultDescription { get; set; } public List Variables { get; set; } public NotificationTypeInfo() { Variables = new List(); } } public class NotificationServiceInfo { public string Name { get; set; } public string Id { get; set; } } }