Skip to content

Commit c277dea

Browse files
committed
fix: interpolate PANEL_DB_NAME in SQL queries (fix template literal quotes)
egg_variables queries used single quotes preventing JS variable interpolation, sending literal '\' to MariaDB and causing SQL syntax error.
1 parent e190426 commit c277dea

3 files changed

Lines changed: 4 additions & 3 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "zerohost-dashboard",
3-
"version": "1.0.0",
3+
"version": "1.0.1",
44
"private": true,
55
"type": "module",
66
"scripts": {

public/js/admin.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ function renderAdminLayout() {
166166
<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="2" width="20" height="8" rx="2"/><rect x="2" y="14" width="20" height="8" rx="2"/><circle cx="6" cy="6" r="1" fill="currentColor"/><circle cx="6" cy="18" r="1" fill="currentColor"/></svg>
167167
Servers
168168
</a>
169+
169170
</div>
170171
<div class="admin-navbar-right">
171172
<span class="admin-navbar-user">${adminState.user?.username || 'Admin'}</span>

routes/servers.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ router.get('/eggs', authenticateToken, async (req, res) => {
8181
for (const { nest, egg } of eggs) {
8282
let variables = [];
8383
try {
84-
const vars = await query('SELECT name, env_variable, default_value, rules, description, user_viewable, user_editable FROM ${PANEL_DB_NAME}.egg_variables WHERE egg_id = ?', [egg.id]);
84+
const vars = await query(`SELECT name, env_variable, default_value, rules, description, user_viewable, user_editable FROM ${PANEL_DB_NAME}.egg_variables WHERE egg_id = ?`, [egg.id]);
8585
variables = vars;
8686
} catch {}
8787
simplified.push({
@@ -136,7 +136,7 @@ router.post('/create', authenticateToken, async (req, res) => {
136136
const egg = await getEgg(nestId, eggId);
137137
const dockerImage = Object.values(egg.docker_images)[0] || Object.keys(egg.docker_images)[0];
138138

139-
const eggVars = await query('SELECT name, env_variable, default_value, rules FROM ${PANEL_DB_NAME}.egg_variables WHERE egg_id = ?', [eggId]);
139+
const eggVars = await query(`SELECT name, env_variable, default_value, rules FROM ${PANEL_DB_NAME}.egg_variables WHERE egg_id = ?`, [eggId]);
140140

141141
const mergedEnv = {};
142142
for (const v of eggVars) {

0 commit comments

Comments
 (0)