using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Abp.Notifications { /// /// Used to manage user notifications. /// public interface IUserNotificationManager { /// /// Gets notifications for a user. /// /// User. /// State /// Skip count. /// Maximum result count. Task> GetUserNotificationsAsync(UserIdentifier user, UserNotificationState? state = null, int skipCount = 0, int maxResultCount = int.MaxValue); /// /// Gets user notification count. /// /// User. /// State. Task GetUserNotificationCountAsync(UserIdentifier user, UserNotificationState? state = null); /// /// Gets a user notification by given id. /// /// Tenant Id /// The user notification id. Task GetUserNotificationAsync(int? tenantId, Guid userNotificationId); /// /// Updates a user notification state. /// /// Tenant Id. /// The user notification id. /// New state. Task UpdateUserNotificationStateAsync(int? tenantId, Guid userNotificationId, UserNotificationState state); /// /// Updates all notification states for a user. /// /// User. /// New state. Task UpdateAllUserNotificationStatesAsync(UserIdentifier user, UserNotificationState state); /// /// Deletes a user notification. /// /// Tenant Id. /// The user notification id. Task DeleteUserNotificationAsync(int? tenantId, Guid userNotificationId); /// /// Deletes all notifications of a user. /// /// User. Task DeleteAllUserNotificationsAsync(UserIdentifier user); } }