import grabDBDir from "../utils/grab-db-dir"; import fs from "fs"; function stripBackupExtension(name) { const lower = name.toLowerCase(); if (lower.endsWith(".tar.gz")) return name.slice(0, -7); if (lower.endsWith(".tgz")) return name.slice(0, -4); if (lower.endsWith(".tar")) return name.slice(0, -4); if (lower.endsWith(".zip")) return name.slice(0, -4); if (lower.endsWith(".sql")) return name.slice(0, -4); return name; } function backupTimestamp(name) { const base = stripBackupExtension(name); const ts = Number(base.split("-").pop()); return Number.isFinite(ts) ? ts : 0; } export default function grabSortedBackups({ config }) { const { backup_dir } = grabDBDir({ config }); if (!fs.existsSync(backup_dir)) { return []; } const backups = fs.readdirSync(backup_dir); /** * Order Backups. Most recent first. */ return backups.sort((a, b) => backupTimestamp(b) - backupTimestamp(a)); }