Merge pull request #2407 from automatisch/remove-old-pagination

chore: Remove old pagination helper for GraphQL
This commit is contained in:
Ömer Faruk Aydın
2025-03-20 15:43:40 +01:00
committed by GitHub
8 changed files with 18 additions and 41 deletions

View File

@@ -1,6 +1,6 @@
import { renderObject } from '../../../../../helpers/renderer.js'; import { renderObject } from '../../../../../helpers/renderer.js';
import User from '../../../../../models/user.js'; import User from '../../../../../models/user.js';
import paginateRest from '../../../../../helpers/pagination-rest.js'; import paginateRest from '../../../../../helpers/pagination.js';
export default async (request, response) => { export default async (request, response) => {
const usersQuery = User.query() const usersQuery = User.query()

View File

@@ -1,6 +1,6 @@
import { renderObject } from '../../../../helpers/renderer.js'; import { renderObject } from '../../../../helpers/renderer.js';
import App from '../../../../models/app.js'; import App from '../../../../models/app.js';
import paginateRest from '../../../../helpers/pagination-rest.js'; import paginateRest from '../../../../helpers/pagination.js';
export default async (request, response) => { export default async (request, response) => {
const app = await App.findOneByKey(request.params.appKey); const app = await App.findOneByKey(request.params.appKey);

View File

@@ -1,5 +1,5 @@
import { renderObject } from '../../../../helpers/renderer.js'; import { renderObject } from '../../../../helpers/renderer.js';
import paginateRest from '../../../../helpers/pagination-rest.js'; import paginateRest from '../../../../helpers/pagination.js';
export default async (request, response) => { export default async (request, response) => {
const flowsQuery = request.currentUser.authorizedFlows const flowsQuery = request.currentUser.authorizedFlows

View File

@@ -1,5 +1,5 @@
import { renderObject } from '../../../../helpers/renderer.js'; import { renderObject } from '../../../../helpers/renderer.js';
import paginateRest from '../../../../helpers/pagination-rest.js'; import paginateRest from '../../../../helpers/pagination.js';
export default async (request, response) => { export default async (request, response) => {
const execution = await request.currentUser.authorizedExecutions const execution = await request.currentUser.authorizedExecutions

View File

@@ -1,5 +1,5 @@
import { renderObject } from '../../../../helpers/renderer.js'; import { renderObject } from '../../../../helpers/renderer.js';
import paginateRest from '../../../../helpers/pagination-rest.js'; import paginateRest from '../../../../helpers/pagination.js';
export default async (request, response) => { export default async (request, response) => {
const executionsQuery = request.currentUser.authorizedExecutions const executionsQuery = request.currentUser.authorizedExecutions

View File

@@ -1,5 +1,5 @@
import { renderObject } from '../../../../helpers/renderer.js'; import { renderObject } from '../../../../helpers/renderer.js';
import paginateRest from '../../../../helpers/pagination-rest.js'; import paginateRest from '../../../../helpers/pagination.js';
export default async (request, response) => { export default async (request, response) => {
await request.currentUser.hasFolderAccess(request.body.folderId); await request.currentUser.hasFolderAccess(request.body.folderId);

View File

@@ -1,25 +0,0 @@
const paginateRest = async (query, page) => {
const pageSize = 10;
page = parseInt(page, 10);
if (isNaN(page) || page < 1) {
page = 1;
}
const [records, count] = await Promise.all([
query.limit(pageSize).offset((page - 1) * pageSize),
query.resultSize(),
]);
return {
pageInfo: {
currentPage: page,
totalPages: Math.ceil(count / pageSize),
},
totalCount: count,
records,
};
};
export default paginateRest;

View File

@@ -1,23 +1,25 @@
const paginate = async (query, limit, offset) => { const paginateRest = async (query, page) => {
if (limit < 1 || limit > 100) { const pageSize = 10;
throw new Error('Limit must be between 1 and 100');
page = parseInt(page, 10);
if (isNaN(page) || page < 1) {
page = 1;
} }
const [records, count] = await Promise.all([ const [records, count] = await Promise.all([
query.limit(limit).offset(offset), query.limit(pageSize).offset((page - 1) * pageSize),
query.resultSize(), query.resultSize(),
]); ]);
return { return {
pageInfo: { pageInfo: {
currentPage: Math.ceil(offset / limit + 1), currentPage: page,
totalPages: Math.ceil(count / limit), totalPages: Math.ceil(count / pageSize),
}, },
totalCount: count, totalCount: count,
edges: records.map((record) => ({ records,
node: record,
})),
}; };
}; };
export default paginate; export default paginateRest;