diff --git a/server/src/utils/search-filter.ts b/server/src/utils/search-filter.ts index 59510462dd..6715b6c021 100644 --- a/server/src/utils/search-filter.ts +++ b/server/src/utils/search-filter.ts @@ -4,7 +4,9 @@ import { AssetVisibility } from 'src/enum'; import { requireElevatedPermission } from 'src/utils/access'; type EnumField = 'type' | 'visibility'; -type EnumCondition = { eq?: T; ne?: T; in?: T[]; notIn?: T[] }; +type EnumOperator = keyof NonNullable; +type EnumOperandMap = { eq: T; ne: T; in: T[]; notIn: T[] }; +type EnumCondition = { [K in EnumOperator]?: EnumOperandMap[K] }; type IdsFilterField = 'albumIds' | 'personIds' | 'tagIds'; const filterBranches = (filter: SearchFilter): SearchFilterBranch[] => [filter, ...(filter.or ?? [])];