You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
132 lines
4.3 KiB
132 lines
4.3 KiB
using System; |
|
using System.Collections.Generic; |
|
using System.Threading; |
|
using System.Threading.Tasks; |
|
|
|
namespace Sanhe.Abp.Notifications; |
|
|
|
/// <summary> |
|
/// 通知订阅管理器 |
|
/// </summary> |
|
public interface INotificationSubscriptionManager |
|
{ |
|
/// <summary> |
|
/// 是否已订阅 |
|
/// </summary> |
|
/// <param name="tenantId">租户</param> |
|
/// <param name="userId">用户标识</param> |
|
/// <param name="notificationName">通知名称</param> |
|
/// <param name="cancellationToken"></param> |
|
/// <returns></returns> |
|
Task<bool> IsSubscribedAsync( |
|
Guid? tenantId, |
|
Guid userId, |
|
string notificationName, |
|
CancellationToken cancellationToken = default); |
|
|
|
/// <summary> |
|
/// 订阅通知 |
|
/// </summary> |
|
/// <param name="tenantId">租户</param> |
|
/// <param name="identifier">用户标识</param> |
|
/// <param name="notificationName">通知名称</param> |
|
/// <param name="cancellationToken"></param> |
|
/// <returns></returns> |
|
Task SubscribeAsync( |
|
Guid? tenantId, |
|
UserIdentifier identifier, |
|
string notificationName, |
|
CancellationToken cancellationToken = default); |
|
|
|
/// <summary> |
|
/// 订阅通知 |
|
/// </summary> |
|
/// <param name="tenantId">租户</param> |
|
/// <param name="identifiers">用户标识列表</param> |
|
/// <param name="notificationName">通知名称</param> |
|
/// <param name="cancellationToken"></param> |
|
/// <returns></returns> |
|
Task SubscribeAsync( |
|
Guid? tenantId, |
|
IEnumerable<UserIdentifier> identifiers, |
|
string notificationName, |
|
CancellationToken cancellationToken = default); |
|
|
|
/// <summary> |
|
/// 取消所有用户订阅 |
|
/// </summary> |
|
/// <param name="tenantId">租户</param> |
|
/// <param name="notificationName">通知名称</param> |
|
/// <param name="cancellationToken"></param> |
|
/// <returns></returns> |
|
Task UnsubscribeAllAsync( |
|
Guid? tenantId, |
|
string notificationName, |
|
CancellationToken cancellationToken = default); |
|
|
|
/// <summary> |
|
/// 取消订阅 |
|
/// </summary> |
|
/// <param name="tenantId">租户</param> |
|
/// <param name="identifier">用户标识</param> |
|
/// <param name="notificationName">通知名称</param> |
|
/// <param name="cancellationToken"></param> |
|
/// <returns></returns> |
|
Task UnsubscribeAsync( |
|
Guid? tenantId, |
|
UserIdentifier identifier, |
|
string notificationName, |
|
CancellationToken cancellationToken = default); |
|
|
|
/// <summary> |
|
/// 取消订阅 |
|
/// </summary> |
|
/// <param name="tenantId">租户</param> |
|
/// <param name="identifiers">用户标识列表</param> |
|
/// <param name="notificationName">通知名称</param> |
|
/// <param name="cancellationToken"></param> |
|
/// <returns></returns> |
|
Task UnsubscribeAsync( |
|
Guid? tenantId, |
|
IEnumerable<UserIdentifier> identifiers, |
|
string notificationName, |
|
CancellationToken cancellationToken = default); |
|
|
|
/// <summary> |
|
/// 获取通知被订阅用户列表 |
|
/// </summary> |
|
/// <param name="tenantId">租户</param> |
|
/// <param name="notificationName">通知名称</param> |
|
/// <param name="identifiers">需要检查的用户列表</param> |
|
/// <param name="cancellationToken"></param> |
|
/// <returns></returns> |
|
Task<List<NotificationSubscriptionInfo>> GetUsersSubscriptionsAsync( |
|
Guid? tenantId, |
|
string notificationName, |
|
IEnumerable<UserIdentifier> identifiers = null, |
|
CancellationToken cancellationToken = default); |
|
|
|
/// <summary> |
|
/// 获取用户订阅列表 |
|
/// </summary> |
|
/// <param name="tenantId">租户</param> |
|
/// <param name="userId">用户标识</param> |
|
/// <param name="cancellationToken"></param> |
|
/// <returns></returns> |
|
Task<List<NotificationSubscriptionInfo>> GetUserSubscriptionsAsync( |
|
Guid? tenantId, |
|
Guid userId, |
|
CancellationToken cancellationToken = default); |
|
|
|
/// <summary> |
|
/// 获取用户订阅列表 |
|
/// </summary> |
|
/// <param name="tenantId">租户</param> |
|
/// <param name="userName">用户名</param> |
|
/// <param name="cancellationToken"></param> |
|
/// <returns></returns> |
|
Task<List<NotificationSubscriptionInfo>> GetUserSubscriptionsAsync( |
|
Guid? tenantId, |
|
string userName, |
|
CancellationToken cancellationToken = default); |
|
}
|
|
|