fix(ops): narrow DB_BACKUP_DIR for jobs-worker typecheck
CI / check (push) Failing after 9s
CI / release (push) Skipped
CI / deploy (push) Skipped

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
SimoandCursor committed 2026-08-01 15:27:01 +02:00
1 parent 725e1cb338
commit db957d7fb1
1 file changed
+8 -6
+8 -6
View File
@@ -140,7 +140,8 @@ async function backupEmulatorJar(): Promise<void> {
/** Optional mysqldump when DB_BACKUP_DIR is set (host must have mysqldump on PATH). */ /** Optional mysqldump when DB_BACKUP_DIR is set (host must have mysqldump on PATH). */
async function backupDatabase(): Promise<void> { async function backupDatabase(): Promise<void> {
if (!env.DB_BACKUP_DIR || !env.DATABASE_URL) return; const backupDir = env.DB_BACKUP_DIR;
if (!backupDir || !env.DATABASE_URL) return;
const { mkdirSync, readdirSync, unlinkSync, existsSync, createWriteStream } = const { mkdirSync, readdirSync, unlinkSync, existsSync, createWriteStream } =
await import("node:fs"); await import("node:fs");
@@ -155,14 +156,14 @@ async function backupDatabase(): Promise<void> {
return; return;
} }
if (!existsSync(env.DB_BACKUP_DIR)) { if (!existsSync(backupDir)) {
mkdirSync(env.DB_BACKUP_DIR, { recursive: true }); mkdirSync(backupDir, { recursive: true });
} }
const timestamp = new Date().toISOString().slice(0, 19).replace(/[T:]/g, "-"); const timestamp = new Date().toISOString().slice(0, 19).replace(/[T:]/g, "-");
const dbName = const dbName =
decodeURIComponent(parsed.pathname.replace(/^\//, "")) || "cms"; decodeURIComponent(parsed.pathname.replace(/^\//, "")) || "cms";
const outFile = resolve(env.DB_BACKUP_DIR, `db-${dbName}-${timestamp}.sql`); const outFile = resolve(backupDir, `db-${dbName}-${timestamp}.sql`);
const args = [ const args = [
`-h${parsed.hostname}`, `-h${parsed.hostname}`,
@@ -201,12 +202,13 @@ async function backupDatabase(): Promise<void> {
} else { } else {
logger.info("Backed up database", { module: "jobs", outFile }); logger.info("Backed up database", { module: "jobs", outFile });
const keep = env.DB_BACKUP_KEEP ?? 7; const keep = env.DB_BACKUP_KEEP ?? 7;
const files = readdirSync(env.DB_BACKUP_DIR) const files = readdirSync(backupDir)
.filter((f) => f.startsWith("db-") && f.endsWith(".sql")) .filter((f) => f.startsWith("db-") && f.endsWith(".sql"))
.sort() .sort()
.reverse(); .reverse();
for (let i = keep; i < files.length; i++) { for (let i = keep; i < files.length; i++) {
unlinkSync(resolve(env.DB_BACKUP_DIR, files[i])); const file = files[i];
if (file) unlinkSync(resolve(backupDir, file));
} }
} }
resolvePromise(); resolvePromise();