84 lines
2.6 KiB
C#
84 lines
2.6 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using xPushService.Models;
|
|
|
|
namespace xPushService.Interfaces {
|
|
public interface IXGroupsPushActions {
|
|
/// <summary>
|
|
/// send a message to specific group ...
|
|
/// </summary>
|
|
/// <param name="groupName"></param>
|
|
/// <param name="message"></param>
|
|
/// <returns></returns>
|
|
Task<bool> SendMessageToGroup (
|
|
string groupName,
|
|
XPushMessage message
|
|
);
|
|
|
|
/// <summary>
|
|
/// send a message to specific groups ...
|
|
/// </summary>
|
|
/// <param name="groupNames"></param>
|
|
/// <param name="message"></param>
|
|
/// <returns></returns>
|
|
Task<bool> SendMessageToGroups (
|
|
IEnumerable<string> groupNames,
|
|
XPushMessage message
|
|
);
|
|
|
|
/// <summary>
|
|
/// add a connection to specific group ...
|
|
/// </summary>
|
|
/// <param name="connectionId"></param>
|
|
/// <param name="groupName"></param>
|
|
/// <returns></returns>
|
|
Task<bool> AddConnectionToGroup (
|
|
string connectionId,
|
|
string groupName
|
|
);
|
|
|
|
/// <summary>
|
|
/// remove specific connection from a group ...
|
|
/// </summary>
|
|
/// <param name="connectionId"></param>
|
|
/// <param name="groupName"></param>
|
|
/// <returns></returns>
|
|
Task<bool> RemoveConnectionFromGroup (
|
|
string connectionId,
|
|
string groupName
|
|
);
|
|
|
|
/// <summary>
|
|
/// retrieve all groups name ...
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Task<IEnumerable<string>> GetGroupNames ();
|
|
|
|
/// <summary>
|
|
/// retrieve all groups with it's connections ...
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
Task<IEnumerable<XPushGroupDto>> GetGroups ();
|
|
|
|
/// <summary>
|
|
/// remove all connections of specific group ...
|
|
/// </summary>
|
|
/// <param name="groupName"></param>
|
|
/// <returns></returns>
|
|
Task<bool> RemoveGroupConnections (string groupName);
|
|
|
|
/// <summary>
|
|
/// retrieve all groups name for specific connection ...
|
|
/// </summary>
|
|
/// <param name="connectionId"></param>
|
|
/// <returns></returns>
|
|
Task<IEnumerable<string>> GetConnectionGroups (string connectionId);
|
|
|
|
/// <summary>
|
|
/// retrieve all connections in specific group ...
|
|
/// </summary>
|
|
/// <param name="groupName"></param>
|
|
/// <returns></returns>
|
|
Task<IEnumerable<XPushConnectionDto>> GetGroupConnections (string groupName);
|
|
}
|
|
} |