30 lines
1.1 KiB
Java
30 lines
1.1 KiB
Java
package com.iconplus.smartproc.repository;
|
|
|
|
import com.iconplus.smartproc.model.entity.TokenManagement;
|
|
import com.iconplus.smartproc.model.projection.TokenManagementView;
|
|
import org.springframework.data.jpa.repository.JpaRepository;
|
|
import org.springframework.data.jpa.repository.Query;
|
|
import org.springframework.stereotype.Repository;
|
|
|
|
import java.util.List;
|
|
import java.util.Optional;
|
|
|
|
@Repository
|
|
public interface TokenManagementRepository extends JpaRepository<TokenManagement, String> {
|
|
|
|
@Query(value = "SELECT access_token as accessToken FROM token_management " +
|
|
"WHERE user_id = :userId " +
|
|
"AND is_delete = 0 " +
|
|
"AND expired_time >= CURRENT_TIMESTAMP", nativeQuery = true)
|
|
List<TokenManagementView> findAccessTokenByUserIdAndDeletedFalse(Long userId);
|
|
|
|
@Query(value = "SELECT tm from TokenManagement tm " +
|
|
"WHERE tm.refreshToken = :refreshToken " +
|
|
"and tm.isDelete = false")
|
|
Optional<TokenManagement> findByRefreshToken(String refreshToken);
|
|
|
|
Optional<TokenManagement> findByAccessTokenAndIsDeleteFalse(String accessToken);
|
|
|
|
Optional<TokenManagement> findByUserId(Long id);
|
|
}
|