aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared
diff options
context:
space:
mode:
authoromnitrix <gaobowei.ovo@gmail.com>2025-04-16 16:18:04 +0200
committerGitHub <noreply@github.com>2025-04-16 15:18:04 +0100
commit71a474268e6381f8630f6d906471c830342dc50f (patch)
treee7dc62795d4b7aad1daeff78c94c12e63c38f3ef /packages/shared
parentdd990b51f3f85f70298a9b437b16ee7bbb406d24 (diff)
downloadkarakeep-71a474268e6381f8630f6d906471c830342dc50f.tar.zst
feat(web): Add support for merging lists (#1231)
* feat: Support list merging * some fixes * move @hoarder to @karakeep --------- Co-authored-by: Mohamed Bassem <me@mbassem.com>
Diffstat (limited to 'packages/shared')
-rw-r--r--packages/shared/types/lists.ts13
1 files changed, 13 insertions, 0 deletions
diff --git a/packages/shared/types/lists.ts b/packages/shared/types/lists.ts
index 474405ee..7ef5687c 100644
--- a/packages/shared/types/lists.ts
+++ b/packages/shared/types/lists.ts
@@ -85,3 +85,16 @@ export const zEditBookmarkListSchemaWithValidation = zEditBookmarkListSchema
"Smart lists cannot have unqualified terms (aka full text search terms) in the query",
path: ["query"],
});
+
+export const zMergeListSchema = z
+ .object({
+ sourceId: z.string(),
+ targetId: z.string(),
+ deleteSourceAfterMerge: z.boolean(),
+ })
+ .refine((val) => val.sourceId !== val.targetId, {
+ message: "Cannot merge a list into itself",
+ path: ["targetId"],
+ });
+
+export type ZMergeList = z.infer<typeof zMergeListSchema>;