package com.skr.mdm.service;


import com.skr.mdm.authentication.TokenExpireException;
import com.skr.mdm.dto.LoginAdminDTO;
import com.skr.mdm.dto.TokenDTO;

public interface AdminTokenService {

	/**
	 * 保存token
	 * @param loginAdminDTO
	 * @return
	 */
    TokenDTO saveToken(LoginAdminDTO loginAdminDTO);

	/**
	 * 刷新token
	 * @param jwt_token
	 * @param refresh_token
	 * @return
	 */
    TokenDTO refreshToken(String jwt_token, String refresh_token);

	/**
	 * 根据token获取登录管理员信息
	 * @param token
	 * @return
	 */
	LoginAdminDTO getLoginAdmin(String token);

	/**
	 * 删除token缓存
	 * @param token
	 * @return
	 */
    boolean deleteToken(String token);


	/**
	 * 根据refreshToken获取登录管理员信息
	 * @param refreshToken
	 * @return
	 */
	LoginAdminDTO getLoginAdminByRefreshToken(String refreshToken);

	/**
	 * 退出登录
	 * @param jwt
	 */
	void signOut(String jwt) throws TokenExpireException;

}
