Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import org.clevercastle.helper.login.UserService;
import org.clevercastle.helper.login.UserServiceImpl;
import org.clevercastle.helper.login.repository.UserRepository;
import org.clevercastle.helper.login.repository.rdsjpa.UserLoginItemRepository;
import org.clevercastle.helper.login.repository.rdsjpa.UserModelRepository;
import org.clevercastle.helper.login.repository.rdsjpa.IUserLoginItemRepository;
import org.clevercastle.helper.login.repository.rdsjpa.IUserModelRepository;
import org.clevercastle.helper.login.repository.rdsjpa.UserRepositoryImpl;
import org.clevercastle.helper.login.token.TokenService;
import org.clevercastle.helper.login.token.jwt.JwtTokenService;
Expand All @@ -30,8 +30,8 @@
@Configuration
public class Beans {
@Bean
public UserRepository userRepository(UserModelRepository userModelRepository,
UserLoginItemRepository userLoginItemRepository) {
public UserRepository userRepository(IUserModelRepository userModelRepository,
IUserLoginItemRepository userLoginItemRepository) {
return new UserRepositoryImpl(userModelRepository, userLoginItemRepository);
}

Expand All @@ -54,7 +54,7 @@ public TokenService tokenService() throws NoSuchAlgorithmException, InvalidKeySp
}

@Bean
public UserService userService(UserRepository userRepository, UserLoginItemRepository userLoginItemRepository, TokenService tokenService) {
public UserService userService(UserRepository userRepository, IUserLoginItemRepository userLoginItemRepository, TokenService tokenService) {
return new UserServiceImpl(Config.builder().build(), userRepository, tokenService, new DummyVerificationService(userLoginItemRepository));
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package org.clevercastle.helper.login.examples.springboot.springbootexample;

import org.clevercastle.helper.login.UserLoginItem;
import org.clevercastle.helper.login.repository.rdsjpa.UserLoginItemRepository;
import org.clevercastle.helper.login.repository.rdsjpa.UserLoginItemJpaRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface UserLoginItemRepositoryAdapter extends UserLoginItemRepository, JpaRepository<UserLoginItem, String> {
public interface UserLoginItemRepositoryAdapter extends UserLoginItemJpaRepository, JpaRepository<UserLoginItem, String> {
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package org.clevercastle.helper.login.examples.springboot.springbootexample;

import org.clevercastle.helper.login.User;
import org.clevercastle.helper.login.repository.rdsjpa.UserModelRepository;
import org.clevercastle.helper.login.repository.rdsjpa.IUserModelRepository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface UserModelRepositoryAdapter extends UserModelRepository, JpaRepository<User, String> {
public interface UserModelRepositoryAdapter extends IUserModelRepository, JpaRepository<User, String> {
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package org.clevercastle.helper.login.repository.rdsjpa;

import org.clevercastle.helper.login.UserLoginItem;

public interface IUserLoginItemRepository {
UserLoginItem save(UserLoginItem userLoginItem);

UserLoginItem getByLoginIdentifier(String loginIdentifier);

void confirmLoginItem(String loginIdentifier);
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

import org.clevercastle.helper.login.User;

public interface UserModelRepository {

public interface IUserModelRepository {
User save(User user);

User getByUserId(String userId);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
package org.clevercastle.helper.login.repository.rdsjpa;

import org.clevercastle.helper.login.UserLoginItem;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import javax.transaction.Transactional;

public interface UserLoginItemRepository {
UserLoginItem save(UserLoginItem userLoginItem);

UserLoginItem getByLoginIdentifier(String loginIdentifier);

public interface UserLoginItemJpaRepository extends IUserLoginItemRepository {
@Modifying
@Transactional
@Query("UPDATE UserLoginItem u\n" +
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
import org.clevercastle.helper.login.repository.UserRepository;

public class UserRepositoryImpl implements UserRepository {
private final UserModelRepository userModelRepository;
private final UserLoginItemRepository userLoginItemRepository;
private final IUserModelRepository userModelRepository;
private final IUserLoginItemRepository userLoginItemRepository;

public UserRepositoryImpl(UserModelRepository userModelRepository, UserLoginItemRepository userLoginItemRepository) {
public UserRepositoryImpl(IUserModelRepository userModelRepository, IUserLoginItemRepository userLoginItemRepository) {
this.userModelRepository = userModelRepository;
this.userLoginItemRepository = userLoginItemRepository;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@
import org.apache.commons.lang3.StringUtils;
import org.clevercastle.helper.login.CastleException;
import org.clevercastle.helper.login.UserLoginItem;
import org.clevercastle.helper.login.repository.rdsjpa.UserLoginItemRepository;
import org.clevercastle.helper.login.repository.rdsjpa.IUserLoginItemRepository;
import org.clevercastle.helper.login.util.TimeUtils;

public abstract class AbstractVerificationService implements VerificationService {
private final UserLoginItemRepository userLoginItemRepository;
private final IUserLoginItemRepository userLoginItemRepository;

protected AbstractVerificationService(UserLoginItemRepository userLoginItemRepository) {
protected AbstractVerificationService(IUserLoginItemRepository userLoginItemRepository) {
this.userLoginItemRepository = userLoginItemRepository;
}

Expand All @@ -19,13 +19,17 @@ public void verify(String loginIdentifier, String verificationCode) throws Castl
throw new CastleException();
}
UserLoginItem userLoginItem = userLoginItemRepository.getByLoginIdentifier(loginIdentifier);
if (userLoginItem.getVerificationCodeExpiredAt() != null && userLoginItem.getVerificationCodeExpiredAt().isAfter(TimeUtils.now())) {
if (verificationCode.equals(userLoginItem.getVerificationCode())) {
userLoginItemRepository.confirmLoginItem(loginIdentifier);
}
if (StringUtils.isBlank(verificationCode)) {
throw new CastleException();
}
if (StringUtils.isBlank(userLoginItem.getVerificationCode()) || userLoginItem.getVerificationCodeExpiredAt() == null) {
throw new CastleException();
}
if (userLoginItem.getVerificationCodeExpiredAt().isBefore(TimeUtils.now())) {
throw new CastleException();
}
if (verificationCode.equals(userLoginItem.getVerificationCode())) {
userLoginItemRepository.confirmLoginItem(loginIdentifier);
}
throw new CastleException();
}


}
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package org.clevercastle.helper.login.verification;

import org.clevercastle.helper.login.CastleException;
import org.clevercastle.helper.login.repository.rdsjpa.UserLoginItemRepository;
import org.clevercastle.helper.login.repository.rdsjpa.IUserLoginItemRepository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class DummyVerificationService extends AbstractVerificationService {
private final Logger logger = LoggerFactory.getLogger(DummyVerificationService.class);

public DummyVerificationService(UserLoginItemRepository userLoginItemRepository) {
public DummyVerificationService(IUserLoginItemRepository userLoginItemRepository) {
super(userLoginItemRepository);
}

Expand Down
Loading