package cn.skcks.matrix.v2.services.auth;

import cn.skcks.matrix.v2.model.auth.dto.UserLoginDto;
import cn.skcks.matrix.v2.model.auth.dto.UserRegisterDto;
import cn.skcks.matrix.v2.model.auth.vo.UserLoginVo;
import cn.skcks.matrix.v2.model.auth.vo.UserRegisterVo;
import cn.skcks.matrix.v2.model.jwt.dto.Claims;
import cn.skcks.matrix.v2.orm.mybatis.dynamic.model.User;

public interface AuthService {
    boolean validateToken(String token);

    String generateToken(User user);

    String refreshToken(String refreshToken);

    UserRegisterVo register(UserRegisterDto dto);

    UserLoginVo login(UserLoginDto dto);

    boolean validateToken(Claims claims, String token);
    void saveToken(User user, String token);
}
