aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2024-10-20 15:40:51 +0000
committerMohamed Bassem <me@mbassem.com>2024-10-20 15:40:51 +0000
commit20e5225e0547978cab656e94a3519cd590a16d8a (patch)
tree729687533556348a3200c7b409177fbc7ad426b2 /packages/shared
parent10dcf2e7429601fcbde42e3d10c46c074dc9a28a (diff)
downloadkarakeep-20e5225e0547978cab656e94a3519cd590a16d8a.tar.zst
feature(api): Add REST APIs to manipulate lists and tags for bookmarks
Diffstat (limited to 'packages/shared')
-rw-r--r--packages/shared/types/bookmarks.ts12
1 files changed, 12 insertions, 0 deletions
diff --git a/packages/shared/types/bookmarks.ts b/packages/shared/types/bookmarks.ts
index a9708f73..c8ab96f9 100644
--- a/packages/shared/types/bookmarks.ts
+++ b/packages/shared/types/bookmarks.ts
@@ -157,3 +157,15 @@ export const zUpdateBookmarksRequestSchema = z.object({
export type ZUpdateBookmarksRequest = z.infer<
typeof zUpdateBookmarksRequestSchema
>;
+
+// The schema that's used to for attachig/detaching tags
+export const zManipulatedTagSchema = z
+ .object({
+ // At least one of the two must be set
+ tagId: z.string().optional(), // If the tag already exists and we know its id we should pass it
+ tagName: z.string().optional(),
+ })
+ .refine((val) => !!val.tagId || !!val.tagName, {
+ message: "You must provide either a tagId or a tagName",
+ path: ["tagId", "tagName"],
+ });