package cn.edu.whu.boot.user.services;

import org.apache.shiro.session.Session;

import java.util.List;
import java.util.Optional;

public interface SessionService {
    List<Session> getAllSessions();

    /**
     * 获取用户的 session
     *
     * @param userId 用户 id
     * @return 用户的 session，若不存在则返回 null
     */
    Optional<Session> getSessionByUserId(int userId);

    Optional<Session> getSessionByUsername(String username);

    /**
     * 根据用户的 session，强制该用户下线
     *
     * @param sessionId 该用户的 session id
     */
    void forceLogout(String sessionId);
}