Initial Commit ...
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using xModels.Dtos;
|
||||
using xModels.Interfaces;
|
||||
using xPushService.Models;
|
||||
|
||||
namespace xPushService.Interfaces {
|
||||
public interface IXPushConnectionStore : IXBaseStore<XPushConnectionDto, string> {
|
||||
//
|
||||
#region Custom ...
|
||||
/// <summary>
|
||||
/// retrieve specific connection by it's Id ...
|
||||
/// </summary>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
Task<XPushConnectionDto> GetByConnectionId (string connectionId);
|
||||
|
||||
/// <summary>
|
||||
/// retrieve specific user's connections ...
|
||||
/// </summary>
|
||||
/// <param name="userName"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<XPushConnectionDto>> GetByUserName (string userName);
|
||||
|
||||
/// <summary>
|
||||
/// retrieve specific user's connected device connection
|
||||
/// </summary>
|
||||
/// <param name="userName"></param>
|
||||
/// <param name="device"></param>
|
||||
/// <returns></returns>
|
||||
Task<XPushConnectionDto> GetByUserDevice (string userName, XDeviceDto device);
|
||||
|
||||
/// <summary>
|
||||
/// check a connection exists or not by it's id ...
|
||||
/// </summary>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> IsExistsConnectionId (string connectionId);
|
||||
|
||||
/// <summary>
|
||||
/// check specific user connected or not ...
|
||||
/// </summary>
|
||||
/// <param name="userName"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> IsExistsUser (string userName);
|
||||
|
||||
/// <summary>
|
||||
/// retrieve specific user's connected devices ...
|
||||
/// </summary>
|
||||
/// <param name="userName"></param>
|
||||
/// <param name="device"></param>
|
||||
/// <returns></returns>
|
||||
Task<IEnumerable<XDeviceDto>> GetUserDevices (string userName);
|
||||
|
||||
/// <summary>
|
||||
/// remove specific connection by it's id ...
|
||||
/// </summary>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> RemoveByConnectionId (string connectionId);
|
||||
|
||||
/// <summary>
|
||||
/// remove specified user's connected device connection ...
|
||||
/// </summary>
|
||||
/// <param name="userName"></param>
|
||||
/// <param name="device"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> RemoveByUserDevice (string userName, XDeviceDto device);
|
||||
|
||||
/// <summary>
|
||||
/// remove specific user's all connected devices ...
|
||||
/// </summary>
|
||||
/// <param name="userName"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> RemoveUser (string userName);
|
||||
|
||||
/// <summary>
|
||||
/// Get specific connections last seen ...
|
||||
/// </summary>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
Task<DateTime> GetLastSeenByConnectionId (string connectionId);
|
||||
|
||||
/// <summary>
|
||||
/// get specific user's last seen ...
|
||||
/// </summary>
|
||||
/// <param name="userName"></param>
|
||||
/// <returns></returns>
|
||||
Task<DateTime> GetLastSeenByUserName (string userName);
|
||||
|
||||
/// <summary>
|
||||
/// get specific user's connected device last seen ...
|
||||
/// </summary>
|
||||
/// <param name="userName"></param>
|
||||
/// <param name="device"></param>
|
||||
/// <returns></returns>
|
||||
Task<DateTime> GetLastSeenByUserDevice (string userName, XDeviceDto device);
|
||||
|
||||
/// <summary>
|
||||
/// Update Connection last seen ...
|
||||
/// </summary>
|
||||
/// <param name="connectionId"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> UpdateLastSeen(string connectionId);
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user