Newer
Older
teacher-diary / src / main / java / ru / mcs / diary / auth / ParentInviteTokenRepository.java
@malexple malexple 19 days ago 820 bytes fix email token
package ru.mcs.diary.auth;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import ru.mcs.diary.parent.Parent;

import java.util.Optional;

@Repository
public interface ParentInviteTokenRepository extends JpaRepository<ParentInviteToken, Long> {

    Optional<ParentInviteToken> findByTokenAndUsedFalse(String token);

    Optional<ParentInviteToken> findByParentAndUsedFalse(Parent parent);

    boolean existsByParentAndUsedFalse(Parent parent);

    @Query("SELECT t FROM ParentInviteToken t JOIN FETCH t.parent WHERE t.token = :token AND t.used = false")
    Optional<ParentInviteToken> findByTokenWithParent(@Param("token") String token);
}