Files
bun-sqlite/dist/utils/grab-sorted-backups.js
T

26 lines
880 B
JavaScript

import grabDBDir from "../utils/grab-db-dir";
import fs from "fs";
import _ from "lodash";
export default function grabSortedBackups({ config }) {
const { backup_dir } = grabDBDir({ config });
if (!fs.existsSync(backup_dir))
return [];
/**
* Only files named by `grabDBBackupFileName` for this database. Anything
* else in the directory is never listed (or trimmed).
*/
const backup_name_regex = new RegExp(`^${_.escapeRegExp(config.db_name)}-\\d+$`);
const backups = fs
.readdirSync(backup_dir)
.filter((b) => backup_name_regex.test(b));
/**
* Order Backups. Most recent first.
*/
const ordered_backups = backups.sort((a, b) => {
const a_date = Number(a.split("-").pop());
const b_date = Number(b.split("-").pop());
return b_date - a_date;
});
return ordered_backups;
}