package de.oaa.xxx.session.repository;

import de.oaa.xxx.session.entity.AktiveSperreEntity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import java.time.LocalDateTime;
import java.util.List;
import java.util.UUID;

public interface AktiveSperreRepository extends JpaRepository<AktiveSperreEntity, UUID> {

    @Query("select a from AktiveSperreEntity a join a.session s where a.endzeit < :now and s.sessionId = :sessionId")
    List<AktiveSperreEntity> findAbgelaufene(@Param("sessionId") UUID sessionId, @Param("now") LocalDateTime now);

    @Query("select a from AktiveSperreEntity a join a.mitspieler m where m.mitspielerId = :mitspielerId")
    List<AktiveSperreEntity> findAktiveLocks(@Param("mitspielerId") UUID mitspielerId);
}
