Files
xPushService/Interfaces/IXGroupsPushActions.cs
T
2024-01-25 04:47:14 +03:30

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);
}
}