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; }