2023-11-08 17:42:52 +01:00
|
|
|
package eu.eudat.query.utils;
|
|
|
|
|
2024-04-05 11:43:33 +02:00
|
|
|
import jakarta.persistence.criteria.*;
|
2023-11-08 17:42:52 +01:00
|
|
|
|
|
|
|
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);
|
|
|
|
|
2023-12-08 16:21:06 +01:00
|
|
|
Subquery<UUID> buildDescriptionAuthZSubQuery(AbstractQuery<?> query, CriteriaBuilder criteriaBuilder, UUID userId, Boolean usePublic);
|
|
|
|
|
2023-11-08 17:42:52 +01:00
|
|
|
Subquery<UUID> buildPublicDmpAuthZSubQuery(AbstractQuery<?> query,
|
|
|
|
CriteriaBuilder criteriaBuilder,
|
|
|
|
Boolean usePublic);
|
|
|
|
|
|
|
|
Subquery<UUID> buildDmpUserAuthZSubQuery(AbstractQuery<?> query,
|
|
|
|
CriteriaBuilder criteriaBuilder,
|
|
|
|
UUID userId);
|
2024-04-05 11:43:33 +02:00
|
|
|
|
|
|
|
Predicate ilike(CriteriaBuilder criteriaBuilder, Expression<String> path, String value);
|
2023-11-08 17:42:52 +01:00
|
|
|
}
|