package cn.nianxx.thhotel.platform.security.service;

import cn.nianxx.thhotel.platform.security.common.dto.AuthenticatedUserContext;
import java.util.Optional;

/**
 * 请求级当前用户上下文服务。业务模块后续可通过该服务读取可选登录用户。
 */
public interface CurrentUserContextService {

    /**
     * 获取当前请求解析出的登录用户上下文。
     */
    Optional<AuthenticatedUserContext> currentUser();

    /**
     * 判断当前请求用户是否拥有指定权限。
     */
    boolean hasPermission(String permissionCode);
}
