using RMuseum.Models.Notification; using RMuseum.Models.Notification.ViewModels; using RSecurityBackend.Models.Generic; using System; using System.Threading.Tasks; namespace RMuseum.Services { /// /// Internal messaging system interface /// public interface IRNotificationService { /// /// Add Notification /// /// /// /// /// Task> PushNotification(Guid userId, string subject, string htmlText); /// /// Get User Notifications /// /// /// Task> GetUserNotifications(Guid userId); /// /// Get Unread User Notifications Count /// /// /// Task> GetUnreadUserNotificationsCount(Guid userId); /// /// Switch Notification Status /// /// /// /// updated notification object Task> SwitchNotificationStatus(Guid notificationId, Guid userId); /// /// Set All User Notifications Status /// /// /// /// Task> SetAllNotificationsStatus(Guid userId, NotificationStatus status); /// /// Delete Notification /// /// if empty deletes all read notifications /// /// Task> DeleteNotification(Guid notificationId, Guid userId); } }