namespace PowderCoating.Application.Interfaces;

public interface IInAppNotificationService
{
    // Company-scoped notification — shown to all users of that company
    Task CreateAsync(int companyId, string title, string message, string notificationType,
        string? link = null, int? quoteId = null, int? invoiceId = null, int? customerId = null);

    // Platform notification — shown only to SuperAdmins
    Task CreateForSuperAdminsAsync(string title, string message, string notificationType, string? link = null);

    // Broadcast notification — one record per active company, shown to all tenant users
    Task CreateForAllCompaniesAsync(string title, string message, string notificationType, string? link = null);
}
