package cn.qinys.platform.upms.api.service;

import cn.qinys.platform.upms.api.req.CurrentUserSwitchRoleReq;
import cn.qinys.platform.upms.api.req.CurrentUserUpdateSelfReq;
import cn.qinys.platform.upms.api.resp.AdminTokenResp;
import cn.qinys.platform.upms.api.resp.CurrentUserInfoResp;
import cn.qinys.platform.upms.api.resp.LeftMenuResp;

import java.util.List;

/**
 * Description:
 *
 * @author tanlie
 * Date: 2024/2/27 21:24
 */
public interface ICurrentUserService {

    /**
     * 获取当前用户信息
     *
     * @return
     */
    CurrentUserInfoResp getCurrentUserInfo();

    /**
     * 切换角色
     *
     * @param req
     */
    AdminTokenResp switchRole(CurrentUserSwitchRoleReq req);

    /**
     * 刷新缓存
     *
     * @param userId
     */
    void refreshUserInfo(String userId);


    /**
     * 更新个人信息
     *
     * @param req
     */
    void updateSelf(CurrentUserUpdateSelfReq req);


    /**
     * 密码过期校验
     * @return
     */
    String checkPassword();


    /**
     * 已授权菜单树
     *
     * @return
     */
    List<LeftMenuResp> getAuthMenuTree();


    /**
     * 开发管理员
     *
     * @return
     */
    List<LeftMenuResp> getDevAdminAuthMenus();
}
