mirror of
https://github.com/myronblair/novacpx
synced 2026-06-30 17:50:41 -05:00
fix: all 6 code review findings
1. admin.js: dashboard setTimeout was after return (dead code) — restructured to assign template to const html, run setTimeout, then return html 2. DockerManager.php createStack: replaced SELECT LAST_INSERT_ID() with db->insert() which already returns lastInsertId correctly for SQLite 3. DockerManager.php setQuota: replaced ON DUPLICATE KEY UPDATE / VALUES() MySQL syntax with SQLite-compatible ON CONFLICT(user_id) DO UPDATE SET excluded.col syntax 4. post-restore.sh: PHP helper file now written ONCE at start of step 4 before any call to it (was written AFTER first call, causing silent failure) 5. post-restore.sh: git pull exit code now captured before pipeline (the while-read loop always exited 0, masking pull failures) 6. uninstall.sh: tar backup now aborts on failure (previously 2>/dev/null swallowed errors and rm -rf destroyed source unconditionally); also rm -f → rm -rf for .service.d drop-in directory
This commit is contained in:
@@ -252,11 +252,10 @@ SH;
|
||||
}
|
||||
if (!is_dir($dir)) throw new RuntimeException("Failed to create stack directory: {$dir}");
|
||||
file_put_contents("{$dir}/docker-compose.yml", $composeYaml);
|
||||
$this->db->execute(
|
||||
$id = (int)$this->db->insert(
|
||||
"INSERT INTO docker_compose_stacks (account_id, name, stack_dir, compose_file, status) VALUES (?,?,?,?,'pending')",
|
||||
[$accountId, $safeName, $dir, $composeYaml]
|
||||
);
|
||||
$id = $this->db->fetchOne("SELECT LAST_INSERT_ID() as id")['id'];
|
||||
novacpx_log('info', "DockerManager: created stack {$safeName}");
|
||||
return ['id' => $id, 'dir' => $dir];
|
||||
}
|
||||
@@ -291,7 +290,10 @@ SH;
|
||||
$this->db->execute(
|
||||
"INSERT INTO docker_quotas (user_id, max_containers, max_memory_mb, max_cpus)
|
||||
VALUES (?,?,?,?)
|
||||
ON DUPLICATE KEY UPDATE max_containers=VALUES(max_containers), max_memory_mb=VALUES(max_memory_mb), max_cpus=VALUES(max_cpus)",
|
||||
ON CONFLICT(user_id) DO UPDATE SET
|
||||
max_containers=excluded.max_containers,
|
||||
max_memory_mb=excluded.max_memory_mb,
|
||||
max_cpus=excluded.max_cpus",
|
||||
[$userId, $maxContainers, $maxMemoryMb, $maxCpus]
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user