Comprehensive pagination middleware and utilities for WayrApp backend API endpoints.
This module provides a complete pagination solution supporting both traditional page-based
and modern offset-based pagination strategies. It serves as the central pagination layer
for all API endpoints requiring data pagination, filtering, sorting, and search capabilities.
The middleware automatically validates query parameters, normalizes pagination options,
and provides utilities for building database queries and response headers.
Key architectural features include dual pagination strategy support (page/offset),
comprehensive query parameter validation using Zod schemas, flexible filtering and
sorting with configurable allowed fields, full-text search capabilities across multiple
fields, and RFC 5988 compliant Link headers for API navigation. The module integrates
seamlessly with Prisma ORM and Express.js middleware patterns.
The pagination system is designed for high-performance content delivery in the language
learning platform, supporting course listings, exercise collections, user progress
tracking, and administrative content management interfaces. All utilities generate
Prisma-compatible query objects and provide consistent response formatting across
the entire application.
// Using pagination utilities in service layer import { getPaginationParams, getSortParams, buildTextSearchFilter } from'@/shared/middleware/pagination';
Comprehensive pagination middleware and utilities for WayrApp backend API endpoints.
This module provides a complete pagination solution supporting both traditional page-based and modern offset-based pagination strategies. It serves as the central pagination layer for all API endpoints requiring data pagination, filtering, sorting, and search capabilities. The middleware automatically validates query parameters, normalizes pagination options, and provides utilities for building database queries and response headers.
Key architectural features include dual pagination strategy support (page/offset), comprehensive query parameter validation using Zod schemas, flexible filtering and sorting with configurable allowed fields, full-text search capabilities across multiple fields, and RFC 5988 compliant Link headers for API navigation. The module integrates seamlessly with Prisma ORM and Express.js middleware patterns.
The pagination system is designed for high-performance content delivery in the language learning platform, supporting course listings, exercise collections, user progress tracking, and administrative content management interfaces. All utilities generate Prisma-compatible query objects and provide consistent response formatting across the entire application.
Author
Exequiel Trujillo
Since
1.0.0
Example
Example