package com.emotion.service;

import com.emotion.dto.response.UserInfoResponse;

import javax.servlet.http.HttpServletRequest;

/**
 * 令牌服务接口
 * 
 * @author huazhongmin
 * @date 2025-07-23
 */
public interface TokenService {
    
    /**
     * 从请求中提取并验证令牌，获取用户信息
     * 
     * @param request HTTP请求
     * @return 用户信息响应
     */
    UserInfoResponse getUserInfoByToken(HttpServletRequest request);
    
    /**
     * 从请求中提取并验证令牌，获取用户名
     * 
     * @param request HTTP请求
     * @return 用户名
     */
    String getUsernameByToken(HttpServletRequest request);
    
    /**
     * 验证令牌并返回用户ID
     * 
     * @param request HTTP请求
     * @return 用户ID
     */
    String validateTokenAndGetUserId(HttpServletRequest request);
}