Ai config
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
async function paginate(queryFn, sql, params, page = 1, pageSize = 20) {
|
||||
const p = Math.max(1, parseInt(page) || 1)
|
||||
const ps = Math.min(100, Math.max(1, parseInt(pageSize) || 20))
|
||||
|
||||
const countResult = await queryFn(
|
||||
`SELECT COUNT(*) as total FROM (${sql}) AS _paged`,
|
||||
params
|
||||
)
|
||||
const total = countResult[0].total
|
||||
const totalPages = Math.ceil(total / ps)
|
||||
|
||||
const data = await queryFn(
|
||||
`${sql} LIMIT ? OFFSET ?`,
|
||||
[...params, ps, (p - 1) * ps]
|
||||
)
|
||||
|
||||
return { data, total, page: p, pageSize: ps, totalPages }
|
||||
}
|
||||
|
||||
module.exports = { paginate }
|
||||
Reference in New Issue
Block a user