mirror of
https://github.com/Floriansylvain/ParisMuseesQuizz.git
synced 2026-08-19 19:53:22 +02:00
Inital commit
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
import { z } from "zod"
|
||||
|
||||
export interface Pagination {
|
||||
skip: number
|
||||
take: number
|
||||
}
|
||||
|
||||
export const queryPaginationParser = z.object({
|
||||
skip: z.coerce.number().optional().default(0),
|
||||
take: z.coerce.number().optional().default(10),
|
||||
})
|
||||
|
||||
export function getPaginationLinks(query: Pagination, routeName: string): object {
|
||||
const nextStart = query.skip + query.take
|
||||
const prevStart = Math.max(0, query.skip - query.take)
|
||||
|
||||
return {
|
||||
next: `/v1/${routeName}?start=${nextStart}&per_page=${query.take}`,
|
||||
prev: `/v1/${routeName}?start=${prevStart}&per_page=${query.take}`,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user