1
Files
lecture-professional-softwa…/src/main/java/mops/gruppen2/repository/EventRepository.java
Christoph 02e7bcbcc4 fix api
Co-authored-by: Christoph <tobi@urpost.de>
2020-03-26 21:19:59 +01:00

42 lines
1.8 KiB
Java

package mops.gruppen2.repository;
import mops.gruppen2.domain.dto.EventDTO;
import org.springframework.data.jdbc.repository.query.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
//TODO Rename Queries + Formatting
public interface EventRepository extends CrudRepository<EventDTO, Long> {
@Query("SELECT DISTINCT group_id FROM event WHERE user_id = :id")
List<String> findGroup_idsWhereUser_id(@Param("id") String userId);
@Query("SELECT * FROM event WHERE group_id = :id")
List<EventDTO> findEventDTOByGroup_id(@Param("id") String groupId);
@Query("SELECT DISTINCT group_id FROM event WHERE event_id > :status")
List<String> findNewEventSinceStatus(@Param("status") Long status);
@Query("SELECT * FROM event WHERE group_id IN (:groupIds) ")
List<EventDTO> findAllEventsOfGroups(@Param("groupIds") List<String> groupIds);
@Query("SELECT MAX(event_id) FROM event")
Long getHighesEvent_ID();
@Query("SELECT * FROM event WHERE event_type = :type")
List<EventDTO> findAllEventsByType(@Param("type") String type);
@Query("SELECT * FROM event WHERE event_type = :type AND user_id = :userId")
List<EventDTO> findEventsByTypeAndUserId(@Param("type") String type, @Param("userId") String userId);
@Query("SELECT COUNT(*) FROM event WHERE event_type = :type AND group_id = :groupId")
Long countEventsByTypeAndGroupId(@Param("type") String type, @Param("groupId") String groupId);
@Query("SELECT COUNT(*) FROM event WHERE group_id = :groupId AND user_id = :userId AND event_type = :type")
Long countEventsByGroupIdAndUserIdAndEventType(@Param("groupId") String groupId, @Param("userId") String userId, @Param("type") String type);
}