Variable PaginationSchemaConst
PaginationSchema: ZodEffects<
ZodObject<
{
page: ZodEffects<ZodOptional<ZodString>, number, undefined | string>;
limit: ZodEffects<ZodOptional<ZodString>, number, undefined | string>;
sortBy: ZodOptional<ZodString>;
sortOrder: ZodDefault<ZodOptional<ZodEnum<["asc", "desc"]>>>;
},
"strip",
ZodTypeAny,
{
page: number;
limit: number;
sortBy?: string;
sortOrder: "asc"
| "desc";
},
{
page?: string;
limit?: string;
sortBy?: string;
sortOrder?: "asc"
| "desc";
},
>,
{ page: number; limit: number; sortBy?: string; sortOrder: "asc"
| "desc" },
{
page?: string;
limit?: string;
sortBy?: string;
sortOrder?: "asc" | "desc";
},
> = ...
Complete pagination schema with business rule validation
Enhanced pagination schema that extends BasePaginationSchema with comprehensive business rule validation to ensure pagination parameters are within acceptable ranges for application performance and security. This schema prevents common pagination-related vulnerabilities and performance issues while maintaining usability for legitimate use cases.
The validation rules enforce minimum page number of 1 to prevent negative or zero page requests that could cause application errors, minimum limit of 1 to ensure meaningful results, and maximum limit of 100 to prevent excessive resource consumption and potential denial-of-service attacks through large result set requests.
These constraints balance user flexibility with system performance and security, allowing reasonable pagination ranges while protecting against abuse. The limits are designed to accommodate typical user interface patterns while preventing resource exhaustion in high-traffic scenarios.