argos/dmp-backend/core/src/main/java/eu/eudat/query/utils/QueryUtilsService.java

24 lines
1.0 KiB
Java

package eu.eudat.query.utils;
import jakarta.persistence.criteria.AbstractQuery;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.Subquery;
import java.util.UUID;
public interface QueryUtilsService {
<Key, D> Subquery<Key> buildSubQuery(BuildSubQueryInput<D, Key> parameters);
Subquery<UUID> buildDmpAuthZSubQuery(AbstractQuery<?> query, CriteriaBuilder criteriaBuilder, UUID userId, Boolean usePublic);
Subquery<UUID> buildDescriptionAuthZSubQuery(AbstractQuery<?> query, CriteriaBuilder criteriaBuilder, UUID userId, Boolean usePublic);
Subquery<UUID> buildPublicDmpAuthZSubQuery(AbstractQuery<?> query,
CriteriaBuilder criteriaBuilder,
Boolean usePublic);
Subquery<UUID> buildDmpUserAuthZSubQuery(AbstractQuery<?> query,
CriteriaBuilder criteriaBuilder,
UUID userId);
}