package ink.wgink.interfaces.manager;

import ink.wgink.pojo.app.AppToken;
import ink.wgink.pojo.app.AppTokenUser;

import java.util.List;

/**
 * @ClassName: IRedisAppTokenManager
 * @Description: redis app token 管理
 * @Author: wanggeng
 * @Date: 2021/11/29 4:30 下午
 * @Version: 1.0
 */
public interface IRedisAppTokenManager {

    String TOKEN_HASH_KEY = "app:tokens";

    /**
     * 获取token
     *
     * @param token
     * @return
     */
    AppToken getToken(String token);

    /**
     * 添加token
     *
     * @param appToken
     */
    void addToken(AppToken appToken);

    /**
     * app当前在线用户
     *
     * @return
     */
    List<AppTokenUser> listCurrentUsers();

    /**
     * 清理超时token
     * @param clearTokenKeys
     */
    void clearTimeoutToken();
}
