Initial Commit ...

This commit is contained in:
2024-01-25 04:47:14 +03:30
commit d862146642
37 changed files with 4039 additions and 0 deletions
+105
View File
@@ -0,0 +1,105 @@
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);
}
}