文件
mynode/packages/lib/services/rest/utils/requestPaginationOptions.ts
chen 301194963b
一些检查失败了
automerge / automerge (push) Has been cancelled
react-native-android-build-apk / AssembleRelease (push) Has been cancelled
Build macOS M1 / Main (push) Has been cancelled
Joplin Continuous Integration / Main (macos-15-intel) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / Main (ubuntu-22.04-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-11-vs2026-arm) (push) Has been cancelled
Joplin Continuous Integration / Main (windows-2025) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04) (push) Has been cancelled
Joplin Continuous Integration / ServerDockerImage (ubuntu-22.04-arm) (push) Has been cancelled
Joplin UI tests / Main (ubuntu-22.04) (push) Has been cancelled
Joplin UI tests / Main (windows-2025) (push) Has been cancelled
Joplin UI tests / Mobile (push) Has been cancelled
Close stale issues / ProcessStaleIssues (push) Has been cancelled
feat: Initial clean release of CHM
2026-11-04 11:29:39 +08:00

24 行
885 B
TypeScript

import { Pagination, PaginationOrder, PaginationOrderDir } from '../../../models/utils/types';
import { Request } from '../Api';
import { ErrorBadRequest } from './errors';
function requestPaginationOrder(request: Request): PaginationOrder[] {
const orderBy: string = request.query.order_by ? request.query.order_by : 'updated_time';
const orderDir: PaginationOrderDir = request.query.order_dir ? request.query.order_dir : PaginationOrderDir.ASC;
return [{
by: orderBy,
dir: orderDir,
caseInsensitive: true,
}];
}
export default function(request: Request): Pagination {
const limit = request.query.limit ? request.query.limit : 100;
if (limit < 0 || limit > 100) throw new ErrorBadRequest(`Limit out of bond: ${limit}`);
const order: PaginationOrder[] = requestPaginationOrder(request);
const page: number = request.query.page || 1;
return { limit, order, page };
}