using System.Collections.Generic;
using System.Threading.Tasks;
using xModels.Dtos;
using xPushService.Models;
namespace xPushService.Interfaces {
public interface IXUserPushActions {
///
/// add an specific user to a group ...
///
///
///
///
Task AddUserToGroup (
string userName,
string groupName
);
///
/// add an specific user's connected device to a group ...
///
///
///
///
///
Task AddUserDeviceToGroup (
string userName,
string groupName,
XDeviceDto device
);
///
/// remove a user from specific groups ...
///
///
///
///
Task RemoveUserFromGroup (
string userName,
string groupName
);
///
/// remove specific user's connected device from a group ...
///
///
///
///
///
Task RemoveUserDeviceFromGroup (
string userName,
string groupName,
XDeviceDto device
);
///
/// send a message to specific user ...
///
///
///
///
Task SendMessageToUser (
string userName,
XPushMessage message
);
///
/// send a message to a user's specific connected device ...
///
///
///
///
///
Task SendMessageToUserDevice (
string userName,
XPushMessage message,
XDeviceDto device
);
///
/// send a message to specific users ...
///
///
///
///
Task SendMessageToUsers (
IEnumerable userNames,
XPushMessage message
);
///
/// retrieve all users groups ...
///
///
///
Task> GetUserGroups (string userName);
///
/// retrieve specific user's connected device ...
///
///
///
Task> GetUserConnections (string userName);
}
}