Files
Cleanuparr/code/backend/Cleanuparr.Infrastructure/Features/Notifications/INotificationPublisher.cs
T

30 lines
1.2 KiB
C#

using Cleanuparr.Domain.Enums;
namespace Cleanuparr.Infrastructure.Features.Notifications;
public interface INotificationPublisher
{
Task NotifyStrike(StrikeType strikeType, int strikeCount);
Task NotifyQueueItemDeleted(bool removeFromClient, DeleteReason reason);
/// <summary>
/// Reports that an arr was made to import a download it had blocked.
/// </summary>
Task NotifyForceImported();
Task NotifyDownloadCleaned(double ratio, TimeSpan seedingTime, string categoryName, CleanReason reason);
Task NotifyDownloadStopped(double ratio, TimeSpan seedingTime, string categoryName, CleanReason reason);
Task NotifyCategoryChanged(string oldCategory, string newCategory, bool isTag = false);
Task NotifySearchTriggered(string itemTitle, SeekerSearchType searchType, SeekerSearchReason searchReason);
Task NotifySearchItemGrabbed(string itemTitle, List<string> grabbedItems, InstanceType instanceType, string instanceUrl);
/// <summary>
/// Reports that Seeker searched every eligible item of an arr instance once.
/// </summary>
Task NotifySeekerCycleCompleted(string instanceName, TimeSpan duration, int searchedUnits, int grabbedUnits, int upgradesGrabbed);
}