Files
demat-facturation/shared/importLogRetention.ts
2026-10-09 10:22:46 +00:00

22 lines
791 B
TypeScript

export const IMPORT_LOG_RETENTION_OPTIONS = [3, 6, 12] as const;
export type ImportLogRetentionMonths = (typeof IMPORT_LOG_RETENTION_OPTIONS)[number];
export function isImportLogRetentionMonths(value: number): value is ImportLogRetentionMonths {
return IMPORT_LOG_RETENTION_OPTIONS.includes(value as ImportLogRetentionMonths);
}
/**
* Retourne la borne calendaire exclusive de la purge : les journaux strictement
* antérieurs à cette date peuvent être supprimés. Les factures et PDF ne sont
* jamais concernés par cette politique de rétention.
*/
export function getImportLogRetentionCutoff(
months: ImportLogRetentionMonths,
referenceDate = new Date(),
): Date {
const cutoff = new Date(referenceDate);
cutoff.setMonth(cutoff.getMonth() - months);
return cutoff;
}