Inital commit

This commit is contained in:
Florian Sylvain
2023-03-06 10:31:22 +01:00
commit 04a2ec68ac
17 changed files with 10541 additions and 0 deletions
+21
View File
@@ -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}`,
}
}