feat: integrate frontend resources (#6)

This commit is contained in:
vran
2022-01-27 17:28:05 +08:00
committed by GitHub
parent 82feab3f1a
commit 77fcf3011a
40 changed files with 126 additions and 23 deletions

View File

@@ -9,7 +9,7 @@ import lombok.RequiredArgsConstructor;
@Getter
public enum DomainErrors implements DatabasirErrors {
REFRESH_TOKEN_EXPIRED("X_0001", "refresh token expired"),
ACCESS_TOKEN_REFRESH_INVALID("X_0002", "invalid refresh token operation"),
INVALID_REFRESH_TOKEN_OPERATION("X_0002", "invalid refresh token operation"),
NOT_SUPPORT_DATABASE_TYPE("A_10000", "不支持的数据库类型, 请检查项目配置"),
PROJECT_NOT_FOUND("A_10001", "项目不存在"),

View File

@@ -32,7 +32,7 @@ public class LoginService {
public AccessTokenRefreshResponse refreshAccessTokens(AccessTokenRefreshRequest request) {
LoginPojo login = loginDao.selectByRefreshToken(request.getRefreshToken())
.orElseThrow(DomainErrors.ACCESS_TOKEN_REFRESH_INVALID::exception);
.orElseThrow(DomainErrors.INVALID_REFRESH_TOKEN_OPERATION::exception);
// refresh-token 已过期
if (login.getRefreshTokenExpireAt().isBefore(LocalDateTime.now())) {
throw DomainErrors.REFRESH_TOKEN_EXPIRED.exception();
@@ -41,9 +41,15 @@ public class LoginService {
if (login.getAccessTokenExpireAt().isAfter(LocalDateTime.now())) {
log.warn("invalid access token refresh operation: request = {}, login = {}", request, login);
loginDao.deleteByUserId(login.getUserId());
throw DomainErrors.ACCESS_TOKEN_REFRESH_INVALID.exception();
throw DomainErrors.INVALID_REFRESH_TOKEN_OPERATION.exception();
}
UserPojo user = userDao.selectById(login.getUserId());
// refresh-token 对应的用户已被删除
UserPojo user = userDao.selectOptionalById(login.getUserId())
.orElseThrow(() -> {
log.warn("user not exists but refresh token exists for " + login.getRefreshToken());
return DomainErrors.INVALID_REFRESH_TOKEN_OPERATION.exception();
});
String accessToken = jwtTokens.accessToken(user.getEmail());
LocalDateTime accessTokenExpireAt = jwtTokens.expireAt(accessToken);
loginDao.updateAccessToken(accessToken, accessTokenExpireAt, user.getId());

View File

@@ -48,7 +48,7 @@ public class SystemService {
return pojo;
});
String email = "admin@databasir.com";
String email = "N/A";
String username = "databasir";
Optional<UserPojo> userOpt = userDao.selectByEmail(email);
if (!userOpt.isPresent()) {