Files
demat-facturation/shared/importLogPagination.ts
2026-10-09 09:58:08 +00:00

23 lines
767 B
TypeScript

export const DEFAULT_IMPORT_LOG_PAGE_SIZE = 200;
export const MAX_IMPORT_LOG_PAGE_SIZE = 500;
export type ImportLogPaginationInput = {
limit?: number;
offset?: number;
};
/**
* Normalise les limites avant toute lecture de journal. Les imports historiques
* peuvent contenir plusieurs dizaines de milliers de lignes : l'interface ne
* doit jamais tenter de les transférer en une seule requête.
*/
export function normalizeImportLogPagination(input?: ImportLogPaginationInput) {
const requestedLimit = input?.limit ?? DEFAULT_IMPORT_LOG_PAGE_SIZE;
const requestedOffset = input?.offset ?? 0;
return {
limit: Math.min(Math.max(Math.trunc(requestedLimit), 1), MAX_IMPORT_LOG_PAGE_SIZE),
offset: Math.max(Math.trunc(requestedOffset), 0),
};
}