package eu.eudat.dao.entities; import java.util.UUID; import java.util.concurrent.CompletableFuture; import eu.eudat.dao.DatabaseAccessLayer; import eu.eudat.entities.DataRepository; import eu.eudat.entities.Dataset; import eu.eudat.entities.UserInfo; import eu.eudat.models.criteria.DatasetCriteria; import eu.eudat.queryable.QueryableList; import org.springframework.transaction.annotation.Transactional; public interface DatasetDao extends DatabaseAccessLayer { QueryableList getWithCriteria(DatasetCriteria criteria); QueryableList getAuthenticated(QueryableList query, UserInfo principal); CompletableFuture createOrUpdateAsync(Dataset item); Dataset find(UUID id,String hint); Long count(); }