Files
Cleanuparr/code/backend/Cleanuparr.Infrastructure/Events/Interfaces/IEventPublisher.cs

26 lines
1.2 KiB
C#

using Cleanuparr.Domain.Enums;
namespace Cleanuparr.Infrastructure.Events.Interfaces;
public interface IEventPublisher
{
Task PublishAsync(EventType eventType, string message, EventSeverity severity, object? data = null, Guid? trackingId = null, Guid? strikeId = null, bool? isDryRun = null);
Task PublishManualAsync(string message, EventSeverity severity, object? data = null, bool? isDryRun = null);
Task PublishStrike(StrikeType strikeType, int strikeCount, string hash, string itemName, Guid? strikeId = null);
Task PublishQueueItemDeleted(bool removeFromClient, DeleteReason deleteReason);
Task PublishDownloadCleaned(double ratio, TimeSpan seedingTime, string categoryName, CleanReason reason);
Task PublishCategoryChanged(string oldCategory, string newCategory, bool isTag = false);
Task PublishRecurringItem(string hash, string itemName, int strikeCount);
Task PublishSearchNotTriggered(string hash, string itemName);
Task<Guid> PublishSearchTriggered(string instanceName, int itemCount, IEnumerable<string> items, SeekerSearchType searchType, Guid? cycleRunId = null);
Task PublishSearchCompleted(Guid eventId, SearchCommandStatus status, object? resultData = null);
}