package ru.mcs.diary.auth;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
import java.time.LocalDateTime;
import java.util.Optional;
@Repository
public interface PasswordResetTokenRepository extends JpaRepository<PasswordResetToken, Long> {
Optional<PasswordResetToken> findByTokenAndUsedFalse(String token);
@Modifying
@Query("DELETE FROM PasswordResetToken t WHERE t.expiresAt < :now")
void deleteExpiredTokens(LocalDateTime now);
@Modifying
@Query("UPDATE PasswordResetToken t SET t.used = true WHERE t.userEmail = :email")
void invalidateAllTokensForUser(String email);
}