diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-05-18 16:58:08 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-18 16:58:08 +0100 |
| commit | 3505cb7d6416d101a4fcb1be27fc22e0171bacd2 (patch) | |
| tree | ef9f55504b8a5b20add8c0ebe916972ab4ab0178 /apps/web/app/api/v1/utils/pagination.ts | |
| parent | 74e74fa6425f072107de3a9bc9dd8f91c5ac9a7d (diff) | |
| download | karakeep-3505cb7d6416d101a4fcb1be27fc22e0171bacd2.tar.zst | |
refactor: Migrate from NextJs's API routes to Hono based routes for the API (#1432)
* Setup Hono and migrate the highlights API there
* Implement the tags and lists endpoint
* Implement the bookmarks and users endpoints
* Add the trpc error code adapter
* Remove the old nextjs handlers
* fix api key not found handling
* Fix trpc error handling
* Fix 204 handling
* Fix search ordering
* Implement the singlefile endpoint
* Implement the asset serving endpoints
* Implement webauth
* Add hono as a catch all route under api
* fix tests
Diffstat (limited to 'apps/web/app/api/v1/utils/pagination.ts')
| -rw-r--r-- | apps/web/app/api/v1/utils/pagination.ts | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/apps/web/app/api/v1/utils/pagination.ts b/apps/web/app/api/v1/utils/pagination.ts deleted file mode 100644 index 12a0b950..00000000 --- a/apps/web/app/api/v1/utils/pagination.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { z } from "zod"; - -import { MAX_NUM_BOOKMARKS_PER_PAGE } from "@karakeep/shared/types/bookmarks"; -import { zCursorV2 } from "@karakeep/shared/types/pagination"; - -export const zPagination = z.object({ - limit: z.coerce.number().max(MAX_NUM_BOOKMARKS_PER_PAGE).optional(), - cursor: z - .string() - .refine((val) => val.includes("_"), "Must be a valid cursor") - .transform((val) => { - const [id, createdAt] = val.split("_"); - return { id, createdAt }; - }) - .pipe(z.object({ id: z.string(), createdAt: z.coerce.date() })) - .optional(), -}); - -export function adaptPagination< - T extends { nextCursor: z.infer<typeof zCursorV2> | null }, ->(input: T) { - const { nextCursor, ...rest } = input; - if (!nextCursor) { - return input; - } - return { - ...rest, - nextCursor: `${nextCursor.id}_${nextCursor.createdAt.toISOString()}`, - }; -} |
