package de.accso.flexinale.data.persistence;

import de.accso.flexinale.data.model.Benutzer;
import de.accso.flexinale.data.model.Ticket;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

import java.util.List;
import java.util.Optional;

@SuppressWarnings("unused")
public interface TicketDao extends JpaRepository<Ticket, String>, AbstractDao<Ticket> {

    @Override
    Optional<Ticket> findById(final String id);

    @Query("SELECT t FROM Ticket t WHERE t.benutzer = :benutzer ORDER BY t.vorfuehrung.zeit")
    List<Ticket> findByBenutzerOrderByZeit(Benutzer benutzer);

    @Query("SELECT count(t) FROM Ticket t WHERE t.benutzer = :benutzer")
    int gesamtZahlDerTicketsFuer(Benutzer benutzer);
}
