diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-04-16 19:04:25 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-04-16 23:50:17 +0000 |
| commit | ba89a864bb4548623ca1bfcfc9ab6eb7fe782603 (patch) | |
| tree | e3b8ddf9d418255f95c18bee76350d441fdd3081 /packages/open-api/lib | |
| parent | 5e0f4de1625957c6ce057ae272aa301fc459d31b (diff) | |
| download | karakeep-ba89a864bb4548623ca1bfcfc9ab6eb7fe782603.tar.zst | |
fix: Add includeContent to search endpoint and document it in the docs
Diffstat (limited to 'packages/open-api/lib')
| -rw-r--r-- | packages/open-api/lib/bookmarks.ts | 8 | ||||
| -rw-r--r-- | packages/open-api/lib/lists.ts | 8 | ||||
| -rw-r--r-- | packages/open-api/lib/pagination.ts | 9 | ||||
| -rw-r--r-- | packages/open-api/lib/tags.ts | 8 |
4 files changed, 27 insertions, 6 deletions
diff --git a/packages/open-api/lib/bookmarks.ts b/packages/open-api/lib/bookmarks.ts index 51c67369..e344d656 100644 --- a/packages/open-api/lib/bookmarks.ts +++ b/packages/open-api/lib/bookmarks.ts @@ -17,6 +17,7 @@ import { ErrorSchema } from "./errors"; import { HighlightSchema } from "./highlights"; import { BookmarkSchema, + IncludeContentSearchParamSchema, PaginatedBookmarksSchema, PaginationSchema, } from "./pagination"; @@ -60,7 +61,8 @@ registry.registerPath({ archived: z.boolean().optional(), favourited: z.boolean().optional(), }) - .merge(PaginationSchema), + .merge(PaginationSchema) + .merge(IncludeContentSearchParamSchema), }, responses: { 200: { @@ -86,7 +88,8 @@ registry.registerPath({ .object({ q: z.string(), }) - .merge(PaginationSchema), + .merge(PaginationSchema) + .merge(IncludeContentSearchParamSchema), }, responses: { 200: { @@ -145,6 +148,7 @@ registry.registerPath({ security: [{ [BearerAuth.name]: [] }], request: { params: z.object({ bookmarkId: BookmarkIdSchema }), + query: IncludeContentSearchParamSchema, }, responses: { 200: { diff --git a/packages/open-api/lib/lists.ts b/packages/open-api/lib/lists.ts index f2c0d954..2273d33b 100644 --- a/packages/open-api/lib/lists.ts +++ b/packages/open-api/lib/lists.ts @@ -13,7 +13,11 @@ import { import { BookmarkIdSchema } from "./bookmarks"; import { BearerAuth } from "./common"; import { ErrorSchema } from "./errors"; -import { PaginatedBookmarksSchema, PaginationSchema } from "./pagination"; +import { + IncludeContentSearchParamSchema, + PaginatedBookmarksSchema, + PaginationSchema, +} from "./pagination"; export const registry = new OpenAPIRegistry(); extendZodWithOpenApi(z); @@ -192,7 +196,7 @@ registry.registerPath({ security: [{ [BearerAuth.name]: [] }], request: { params: z.object({ listId: ListIdSchema }), - query: PaginationSchema, + query: PaginationSchema.merge(IncludeContentSearchParamSchema), }, responses: { 200: { diff --git a/packages/open-api/lib/pagination.ts b/packages/open-api/lib/pagination.ts index dfe835e2..382f00ef 100644 --- a/packages/open-api/lib/pagination.ts +++ b/packages/open-api/lib/pagination.ts @@ -22,3 +22,12 @@ export const PaginationSchema = z cursor: CursorSchema.optional(), }) .openapi("Pagination"); + +export const IncludeContentSearchParamSchema = z.object({ + includeContent: z + .boolean() + .default(true) + .describe( + "If set to true, bookmark's content will be included in the response. Note, this content can be large for some bookmarks.", + ), +}); diff --git a/packages/open-api/lib/tags.ts b/packages/open-api/lib/tags.ts index 86353924..c51e3b84 100644 --- a/packages/open-api/lib/tags.ts +++ b/packages/open-api/lib/tags.ts @@ -11,7 +11,11 @@ import { import { BearerAuth } from "./common"; import { ErrorSchema } from "./errors"; -import { PaginatedBookmarksSchema, PaginationSchema } from "./pagination"; +import { + IncludeContentSearchParamSchema, + PaginatedBookmarksSchema, + PaginationSchema, +} from "./pagination"; export const registry = new OpenAPIRegistry(); extendZodWithOpenApi(z); @@ -154,7 +158,7 @@ registry.registerPath({ security: [{ [BearerAuth.name]: [] }], request: { params: z.object({ tagId: TagIdSchema }), - query: PaginationSchema, + query: PaginationSchema.merge(IncludeContentSearchParamSchema), }, responses: { 200: { |
