using NzbDrone.Core.Notifications; namespace Radarr.Api.V3.Notifications { public class NotificationResource : ProviderResource { public string Link { get; set; } public bool OnGrab { get; set; } public bool OnDownload { get; set; } public bool OnUpgrade { get; set; } public bool OnRename { get; set; } public bool OnDelete { get; set; } public bool OnHealthIssue { get; set; } public bool SupportsOnGrab { get; set; } public bool SupportsOnDownload { get; set; } public bool SupportsOnUpgrade { get; set; } public bool SupportsOnRename { get; set; } public bool SupportsOnDelete { get; set; } public bool SupportsOnHealthIssue { get; set; } public bool IncludeHealthWarnings { get; set; } public string TestCommand { get; set; } } public class NotificationResourceMapper : ProviderResourceMapper { public override NotificationResource ToResource(NotificationDefinition definition) { if (definition == null) { return default(NotificationResource); } var resource = base.ToResource(definition); resource.OnGrab = definition.OnGrab; resource.OnDownload = definition.OnDownload; resource.OnUpgrade = definition.OnUpgrade; resource.OnRename = definition.OnRename; resource.OnDelete = definition.OnDelete; resource.OnHealthIssue = definition.OnHealthIssue; resource.SupportsOnGrab = definition.SupportsOnGrab; resource.SupportsOnDownload = definition.SupportsOnDownload; resource.SupportsOnUpgrade = definition.SupportsOnUpgrade; resource.SupportsOnRename = definition.SupportsOnRename; resource.SupportsOnDelete = definition.SupportsOnDelete; resource.SupportsOnHealthIssue = definition.SupportsOnHealthIssue; resource.IncludeHealthWarnings = definition.IncludeHealthWarnings; return resource; } public override NotificationDefinition ToModel(NotificationResource resource) { if (resource == null) { return default(NotificationDefinition); } var definition = base.ToModel(resource); definition.OnGrab = resource.OnGrab; definition.OnDownload = resource.OnDownload; definition.OnUpgrade = resource.OnUpgrade; definition.OnRename = resource.OnRename; definition.OnDelete = resource.OnDelete; definition.OnHealthIssue = resource.OnHealthIssue; definition.SupportsOnGrab = resource.SupportsOnGrab; definition.SupportsOnDownload = resource.SupportsOnDownload; definition.SupportsOnUpgrade = resource.SupportsOnUpgrade; definition.SupportsOnRename = resource.SupportsOnRename; definition.SupportsOnDelete = resource.SupportsOnDelete; definition.SupportsOnHealthIssue = resource.SupportsOnHealthIssue; definition.IncludeHealthWarnings = resource.IncludeHealthWarnings; return definition; } } }