Fix author-id publications search.
This commit is contained in:
@@ -9,6 +9,7 @@ import org.codiki.infrastructure.publication.model.PublicationSearchJpaField;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import static jakarta.persistence.criteria.JoinType.LEFT;
|
||||
import static org.codiki.infrastructure.publication.model.PublicationSearchJpaField.AUTHOR_ID;
|
||||
import static org.codiki.infrastructure.publication.model.PublicationSearchJpaField.AUTHOR_PSEUDO;
|
||||
|
||||
import jakarta.persistence.criteria.CriteriaBuilder;
|
||||
@@ -53,9 +54,13 @@ public class PublicationPredicateMapper {
|
||||
|
||||
From<?, ?> from = fromPublication;
|
||||
String attributeName = searchField.getFieldName();
|
||||
if (searchField == AUTHOR_PSEUDO) {
|
||||
if (List.of(AUTHOR_PSEUDO, AUTHOR_ID).contains(searchField)) {
|
||||
from = fromPublication.join("author", LEFT);
|
||||
attributeName = "pseudo";
|
||||
attributeName = switch(searchField) {
|
||||
case AUTHOR_ID -> "id";
|
||||
case AUTHOR_PSEUDO -> "pseudo";
|
||||
default -> null;
|
||||
};
|
||||
}
|
||||
|
||||
if (value instanceof UUID) {
|
||||
|
||||
Reference in New Issue
Block a user