105 lines
3.2 KiB
C#
105 lines
3.2 KiB
C#
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using xModels.Dtos;
|
|
using xPushService.Models;
|
|
|
|
namespace xPushService.Interfaces {
|
|
public interface IXUserPushActions {
|
|
/// <summary>
|
|
/// add an specific user to a group ...
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <param name="groupName"></param>
|
|
/// <returns></returns>
|
|
Task<bool> AddUserToGroup (
|
|
string userName,
|
|
string groupName
|
|
);
|
|
|
|
/// <summary>
|
|
/// add an specific user's connected device to a group ...
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <param name="groupName"></param>
|
|
/// <param name="device"></param>
|
|
/// <returns></returns>
|
|
Task<bool> AddUserDeviceToGroup (
|
|
string userName,
|
|
string groupName,
|
|
XDeviceDto device
|
|
);
|
|
|
|
/// <summary>
|
|
/// remove a user from specific groups ...
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <param name="groupName"></param>
|
|
/// <returns></returns>
|
|
Task<bool> RemoveUserFromGroup (
|
|
string userName,
|
|
string groupName
|
|
);
|
|
|
|
/// <summary>
|
|
/// remove specific user's connected device from a group ...
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <param name="groupName"></param>
|
|
/// <param name="device"></param>
|
|
/// <returns></returns>
|
|
Task<bool> RemoveUserDeviceFromGroup (
|
|
string userName,
|
|
string groupName,
|
|
XDeviceDto device
|
|
);
|
|
|
|
/// <summary>
|
|
/// send a message to specific user ...
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <param name="message"></param>
|
|
/// <returns></returns>
|
|
Task<bool> SendMessageToUser (
|
|
string userName,
|
|
XPushMessage message
|
|
);
|
|
|
|
/// <summary>
|
|
/// send a message to a user's specific connected device ...
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <param name="message"></param>
|
|
/// <param name="device"></param>
|
|
/// <returns></returns>
|
|
Task<bool> SendMessageToUserDevice (
|
|
string userName,
|
|
XPushMessage message,
|
|
XDeviceDto device
|
|
);
|
|
|
|
/// <summary>
|
|
/// send a message to specific users ...
|
|
/// </summary>
|
|
/// <param name="userNamea"></param>
|
|
/// <param name="message"></param>
|
|
/// <returns></returns>
|
|
Task<bool> SendMessageToUsers (
|
|
IEnumerable<string> userNames,
|
|
XPushMessage message
|
|
);
|
|
|
|
/// <summary>
|
|
/// retrieve all users groups ...
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <returns></returns>
|
|
Task<IEnumerable<string>> GetUserGroups (string userName);
|
|
|
|
/// <summary>
|
|
/// retrieve specific user's connected device ...
|
|
/// </summary>
|
|
/// <param name="userName"></param>
|
|
/// <returns></returns>
|
|
Task<IEnumerable<XPushConnectionDto>> GetUserConnections (string userName);
|
|
}
|
|
} |