diff --git a/packages/api/src/services/library_item.ts b/packages/api/src/services/library_item.ts index 21b921056..0f23626e6 100644 --- a/packages/api/src/services/library_item.ts +++ b/packages/api/src/services/library_item.ts @@ -154,7 +154,7 @@ const buildWhereClause = ( if (includeLabels && includeLabels.length > 0) { includeLabels.forEach((includeLabel) => { queryBuilder.andWhere( - 'library_item.label_names @> ARRAY[:...includeLabels]::text[] OR library_item.highlight_labels @> ARRAY[:...includeLabels]::text[]', + '(lower(library_item.label_names::text)::text[] @> ARRAY[:...includeLabels]::text[] OR lower(library_item.highlight_labels::text)::text[] @> ARRAY[:...includeLabels]::text[])', { includeLabels: includeLabel.labels, } @@ -164,7 +164,7 @@ const buildWhereClause = ( if (excludeLabels && excludeLabels.length > 0) { queryBuilder.andWhere( - 'NOT library_item.label_names && ARRAY[:...excludeLabels]::text[] AND NOT library_item.highlight_labels && ARRAY[:...excludeLabels]::text[]', + '(NOT lower(library_item.label_names::text)::text[] && ARRAY[:...excludeLabels]::text[] AND NOT lower(library_item.highlight_labels::text)::text[] && ARRAY[:...excludeLabels]::text[])', { excludeLabels, } @@ -221,7 +221,7 @@ const buildWhereClause = ( if (args.noFilters) { args.noFilters.forEach((filter) => { - queryBuilder.andWhere(`library_item.${filter.field} IS NULL`) + queryBuilder.andWhere(`library_item.${filter.field} = '{}'`) }) } } diff --git a/packages/api/src/utils/search.ts b/packages/api/src/utils/search.ts index 68a109b67..4ce603af4 100644 --- a/packages/api/src/utils/search.ts +++ b/packages/api/src/utils/search.ts @@ -303,11 +303,11 @@ const parseNoFilter = (str?: string): NoFilter | undefined => { } const strLower = str.toLowerCase() - const accepted = ['highlight', 'label'] - if (accepted.includes(strLower)) { - return { - field: `${strLower}s`, - } + switch (strLower) { + case 'highlight': + return { field: 'highlight_annotations' } + case 'label': + return { field: 'label_names' } } return undefined