using System.Threading;
using System.Threading.Tasks;
using GB5Shared.DTO.Framework.Login;
namespace FrameworkBLL.UserLogin
{
public interface ILoggedInUsersBLL
{
///
/// Returns JSON-serialized list of currently active sessions from MSESSIONSTORE.
/// Mirrors GB4's GetLogedInUsersforDashboard endpoint behaviour.
///
Task GetLoggedInUsersForDashboardAsync(LoginDTO login, int type, CancellationToken ct = default);
///
/// Force-terminates one or more sessions by LoginEventLogId.
/// Deletes the session rows from MSESSIONSTORE — next API call from those
/// sessions receives 401 from SessionHeartbeatMiddleware.
/// Mirrors GB4's ForceLogOut endpoint behaviour.
///
Task ForceLogoutAsync(List loginEventLogIds, LoginDTO login, CancellationToken ct = default);
}
}