All Downloads are FREE. Search and download functionalities are using the official Maven repository.

fi.evolver.ai.vaadin.ChatRepository Maven / Gradle / Ivy

There is a newer version: 1.5.5
Show newest version
package fi.evolver.ai.vaadin;

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

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

import fi.evolver.ai.vaadin.entity.Chat;


@Repository
@Transactional
public interface ChatRepository extends JpaRepository {

	public Chat findChatByChatId(String chatId);

	public Chat findChatByChatIdAndUsername(String chatId, String username);

	List findAllByUsernameAndFavoriteOrderByIdDesc(String username, boolean favorite);

	default List findFavoriteChats(String username) {
		return findAllByUsernameAndFavoriteOrderByIdDesc(username, true);
	}

	List findAllByUsernameAndChatTypeAndFavoriteAndStartTimeGreaterThanOrderByIdDesc(String username, String chatType, boolean favorite, LocalDateTime startTime);

	default List findNonFavoriteChats(String username, String chatType, LocalDateTime startTime) {
		return findAllByUsernameAndChatTypeAndFavoriteAndStartTimeGreaterThanOrderByIdDesc(username, chatType, false, startTime);
	}

	public List findAllByStartTimeGreaterThanEqualAndStartTimeLessThanEqualOrderByIdDesc(LocalDateTime startTime, LocalDateTime endTime);

	int deleteByStartTimeLessThanAndFavorite(LocalDateTime cutTime, boolean favorite);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy