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