using NetworkResurrector.Api.Domain.Constants;
using NetworkResurrector.Api.Domain.Models.Notifications;
using System.Threading;
using System.Threading.Tasks;

namespace NetworkResurrector.Api.Application.Services.Abstractions
{
    public interface INotificationService
    {
        Task Notify(NotificationType type, NotificationContext context, CancellationToken cancellationToken = default);
        Task Notify(NotificationType type, string machineName, string machineFullName, string machineIP, string actionStatus, string actionPerformer, string errorMessage, CancellationToken cancellationToken = default);
        Task NotifyError(string errorMessage, CancellationToken cancellationToken = default);
    }
}
