mirror of
https://gitlab.com/soapbox-pub/ditto.git
synced 2025-12-06 11:29:46 +00:00
11 lines
506 B
TypeScript
11 lines
506 B
TypeScript
import { z } from 'zod';
|
|
|
|
/** Schema to parse pagination query params. */
|
|
export const paginationSchema = z.object({
|
|
max_id: z.string().optional().catch(undefined),
|
|
min_id: z.string().optional().catch(undefined),
|
|
since: z.coerce.number().nonnegative().optional().catch(undefined),
|
|
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),
|
|
});
|