using System.Collections.Generic; using System.Threading.Tasks; namespace Abp.Notifications { /// /// Used to manage notification definitions. /// public interface INotificationDefinitionManager { /// /// Adds the specified notification definition. /// void Add(NotificationDefinition notificationDefinition); /// /// Gets a notification definition by name. /// Throws exception if there is no notification definition with given name. /// NotificationDefinition Get(string name); /// /// Gets a notification definition by name. /// Returns null if there is no notification definition with given name. /// NotificationDefinition GetOrNull(string name); /// /// Gets all notification definitions. /// IReadOnlyList GetAll(); /// /// Checks if given notification () is available for given user. /// Task IsAvailableAsync(string name, UserIdentifier user); /// /// Gets all available notification definitions for given user. /// /// User. Task> GetAllAvailableAsync(UserIdentifier user); /// /// Remove notification with given name /// /// void Remove(string name); } }