diff --git a/packages/ditto/controllers/api/ditto.ts b/packages/ditto/controllers/api/ditto.ts index 2aa8da2b..38c72eb4 100644 --- a/packages/ditto/controllers/api/ditto.ts +++ b/packages/ditto/controllers/api/ditto.ts @@ -1,4 +1,4 @@ -import { paginated, paginatedList } from '@ditto/mastoapi/pagination'; +import { paginated } from '@ditto/mastoapi/pagination'; import { NostrEvent, NostrFilter, NSchema as n } from '@nostrify/nostrify'; import { z } from 'zod'; diff --git a/packages/mastoapi/pagination/schema.ts b/packages/mastoapi/pagination/schema.ts index 89e3c5f6..5647246d 100644 --- a/packages/mastoapi/pagination/schema.ts +++ b/packages/mastoapi/pagination/schema.ts @@ -1,7 +1,16 @@ import { z } from 'zod'; +export interface Pagination { + max_id?: string; + min_id?: string; + since?: number; + until?: number; + limit: number; + offset: number; +} + /** Schema to parse pagination query params. */ -export const paginationSchema = z.object({ +export const paginationSchema: z.ZodType = z.object({ max_id: z.string().transform((val) => { if (!val.includes('-')) return val; return val.split('-')[1]; @@ -11,4 +20,4 @@ export const paginationSchema = z.object({ until: z.coerce.number().nonnegative().optional().catch(undefined), limit: z.coerce.number().catch(20).transform((value) => Math.min(Math.max(value, 0), 40)), offset: z.coerce.number().nonnegative().catch(0), -}); +}) as z.ZodType;