enum op exhaustion

This commit is contained in:
timonrieger
2026-07-25 16:11:42 +02:00
parent 72e2a18f03
commit 547634efb9
+3 -1
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 ?? [])];