This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package ru.soune.nocopy.repository;
|
||||
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.stereotype.Repository;
|
||||
import ru.soune.nocopy.entity.AuthToken;
|
||||
|
||||
@@ -13,4 +14,9 @@ public interface AuthTokenRepository extends JpaRepository<AuthToken, Long> {
|
||||
List<AuthToken> findByExpiresAtBefore(LocalDateTime expiresAtBefore);
|
||||
Optional<AuthToken> findByLastUsedAtBefore(LocalDateTime lastUsedAt);
|
||||
Optional<AuthToken> findByToken(String token);
|
||||
@Query(value = """
|
||||
SELECT a.user_id FROM auth_tokens a WHERE a.token = :token
|
||||
""",
|
||||
nativeQuery = true)
|
||||
Long findUserIdByToken(String token);
|
||||
}
|
||||
|
||||
@@ -46,5 +46,8 @@ public interface FileEntityRepository extends JpaRepository<FileEntity, String>
|
||||
@Query("SELECT f FROM FileEntity f WHERE f.signature = :signature")
|
||||
FileEntity findBySignature(@Param("signature") String signature);
|
||||
|
||||
@Query("SELECT f.id FROM FileEntity f WHERE f.filePath = :filePath")
|
||||
String findFileIdByFilePath(@Param("filePath") String filePath);
|
||||
|
||||
long countByUserId(Long userId);
|
||||
}
|
||||
|
||||
@@ -31,6 +31,28 @@ public interface ImageSimilarityRepository
|
||||
@Param("fileId") String fileId
|
||||
);
|
||||
|
||||
@Query(value = """
|
||||
SELECT
|
||||
f.id AS id,
|
||||
f.original_file_name AS originalFileName,
|
||||
f.file_size AS fileSize,
|
||||
f.user_id AS userId,
|
||||
h.hash64_hi AS hash64Hi,
|
||||
h.hash64_lo AS hash64Lo
|
||||
FROM image_hashes ref
|
||||
JOIN image_hashes h
|
||||
ON ref.file_id <> h.file_id
|
||||
JOIN file_entities f
|
||||
ON f.id = h.file_id
|
||||
WHERE ref.file_id = :fileId AND f.user_id = :userId
|
||||
""",
|
||||
nativeQuery = true)
|
||||
List<SimilarImageProjection> findCandidatesFromUserFiles(
|
||||
@Param("fileId") String fileId,
|
||||
@Param("userId") Long userId
|
||||
);
|
||||
|
||||
|
||||
@Query(value = """
|
||||
SELECT
|
||||
h.hash64_hi AS hash64Hi,
|
||||
|
||||
Reference in New Issue
Block a user