aboutsummaryrefslogtreecommitdiffstats
path: root/apps/web/app/api/v1/utils/pagination.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web/app/api/v1/utils/pagination.ts')
-rw-r--r--apps/web/app/api/v1/utils/pagination.ts30
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()}`,
- };
-}