feat: merge records (#13436)

Co-authored-by: Félix Malfait <felix.malfait@gmail.com>
This commit is contained in:
neo773
2025-07-31 10:06:36 +00:00
committed by GitHub
co-authored by Félix Malfait
parent 00d12e854a
commit 06e0814ce8
45 changed files with 2047 additions and 29 deletions
@@ -14,6 +14,7 @@ import {
FindDuplicatesResolverArgs,
FindManyResolverArgs,
FindOneResolverArgs,
MergeManyResolverArgs,
ResolverArgs,
ResolverArgsType,
UpdateManyResolverArgs,
@@ -145,6 +146,22 @@ export class QueryRunnerArgsFactory {
) ?? [],
),
} satisfies FindDuplicatesResolverArgs;
case ResolverArgsType.MergeMany:
return {
...args,
ids: (await Promise.all(
(args as MergeManyResolverArgs).ids?.map((id) =>
this.overrideValueByFieldMetadata(
'id',
id,
fieldMetadataMapByNameByName,
),
) ?? [],
)) as string[],
conflictPriorityIndex: (args as MergeManyResolverArgs)
.conflictPriorityIndex,
dryRun: (args as MergeManyResolverArgs).dryRun,
} satisfies MergeManyResolverArgs;
default:
return args;
}
@@ -8,6 +8,7 @@ import {
FindDuplicatesResolverArgs,
FindManyResolverArgs,
FindOneResolverArgs,
MergeManyResolverArgs,
RestoreManyResolverArgs,
UpdateManyResolverArgs,
UpdateOneResolverArgs,
@@ -42,4 +43,6 @@ export type WorkspacePreQueryHookPayload<T> = T extends 'createMany'
? DestroyManyResolverArgs
: T extends 'destroyOne'
? DestroyOneResolverArgs
: never;
: T extends 'mergeMany'
? MergeManyResolverArgs
: never;