enum op exhaustion

This commit is contained in:
timonrieger 2026-07-24 00:30:46 +02:00
parent 72e2a18f03
commit 547634efb9
No known key found for this signature in database

View file

@ -4,7 +4,9 @@ import { AssetVisibility } from 'src/enum';
import { requireElevatedPermission } from 'src/utils/access';
type EnumField = 'type' | 'visibility';
type EnumCondition<T> = { eq?: T; ne?: T; in?: T[]; notIn?: T[] };
type EnumOperator = keyof NonNullable<SearchFilterBranch[EnumField]>;
type EnumOperandMap<T> = { eq: T; ne: T; in: T[]; notIn: T[] };
type EnumCondition<T> = { [K in EnumOperator]?: EnumOperandMap<T>[K] };
type IdsFilterField = 'albumIds' | 'personIds' | 'tagIds';
const filterBranches = (filter: SearchFilter): SearchFilterBranch[] => [filter, ...(filter.or ?? [])];