package com.reading.platform.service;

import com.reading.platform.common.security.JwtPayload;

/**
 * Token Service Interface - Redis 存储 Token
 */
public interface TokenService {

    /**
     * 保存 Token 到 Redis
     * @param token JWT token
     * @param payload 用户信息
     */
    void saveToken(String token, JwtPayload payload);

    /**
     * 从 Redis 获取 Token 对应的用户信息
     * @param token JWT token
     * @return 用户信息，如果不存在返回 null
     */
    JwtPayload getToken(String token);

    /**
     * 删除 Token
     * @param token JWT token
     */
    void removeToken(String token);

    /**
     * 检查 Token 是否存在
     * @param token JWT token
     * @return 是否存在
     */
    boolean isTokenExist(String token);
}