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 { // #region Custom ... /// /// retrieve specific connection by it's Id ... /// /// /// Task GetByConnectionId (string connectionId); /// /// retrieve specific user's connections ... /// /// /// Task> GetByUserName (string userName); /// /// retrieve specific user's connected device connection /// /// /// /// Task GetByUserDevice (string userName, XDeviceDto device); /// /// check a connection exists or not by it's id ... /// /// /// Task IsExistsConnectionId (string connectionId); /// /// check specific user connected or not ... /// /// /// Task IsExistsUser (string userName); /// /// retrieve specific user's connected devices ... /// /// /// /// Task> GetUserDevices (string userName); /// /// remove specific connection by it's id ... /// /// /// Task RemoveByConnectionId (string connectionId); /// /// remove specified user's connected device connection ... /// /// /// /// Task RemoveByUserDevice (string userName, XDeviceDto device); /// /// remove specific user's all connected devices ... /// /// /// Task RemoveUser (string userName); /// /// Get specific connections last seen ... /// /// /// Task GetLastSeenByConnectionId (string connectionId); /// /// get specific user's last seen ... /// /// /// Task GetLastSeenByUserName (string userName); /// /// get specific user's connected device last seen ... /// /// /// /// Task GetLastSeenByUserDevice (string userName, XDeviceDto device); /// /// Update Connection last seen ... /// /// /// Task UpdateLastSeen(string connectionId); #endregion } }