Merge pull request #14852 from Budibase/fix-processSearchFilters

Make sure processSearchFilters handles an undefined input.
This commit is contained in:
Sam Rose 2024-10-23 15:52:18 +01:00 committed by GitHub
commit 685d8cfd20
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 9 deletions

View File

@ -455,19 +455,18 @@ export function splitFiltersArray(filters: LegacyFilter[]) {
* Legacy support remains for the old **SearchFilter[]** format.
* These will be migrated to an appropriate **SearchFilters** object, if encountered
*/
export function buildQuery(filter: undefined): undefined
export function buildQuery(
filter: UISearchFilter | LegacyFilter[]
): SearchFilters
export function buildQuery(
filter?: UISearchFilter | LegacyFilter[]
): SearchFilters | undefined {
): SearchFilters {
if (!filter) {
return
return {}
}
if (Array.isArray(filter)) {
filter = processSearchFilters(filter)
if (!filter) {
return {}
}
}
const operator = logicalOperatorFromUI(

View File

@ -135,12 +135,16 @@ export function isSupportedUserSearch(query: SearchFilters) {
return false
}
}
return true
}
export const processSearchFilters = (
filterArray: LegacyFilter[]
): Required<UISearchFilter> => {
export function processSearchFilters(
filterArray?: LegacyFilter[]
): Required<UISearchFilter> | undefined {
if (!filterArray || filterArray.length === 0) {
return undefined
}
const { allOr, onEmptyFilter, filters } = splitFiltersArray(filterArray)
return {
logicalOperator: UILogicalOperator.ALL,