From 0f0fac93549f080a3f9d78a0f0fd799a9604ff7c Mon Sep 17 00:00:00 2001 From: ChrisChrome Date: Mon, 16 Dec 2024 17:32:52 -0700 Subject: [PATCH] Add contact field to backend --- index.js | 11 +++++++---- migrations/007_add_contact_col_routes.sql | 2 ++ public/assets/js/adminMain.js | 1 + views/admin/create.ejs | 4 ++++ views/admin/index.ejs | 1 + 5 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 migrations/007_add_contact_col_routes.sql diff --git a/index.js b/index.js index 739f038..c84b7e8 100644 --- a/index.js +++ b/index.js @@ -257,6 +257,7 @@ app.post('/api/v1/admin/route', (req, res) => { // Create a new route const block_start = req.body.block_start; const block_length = req.body.block_length || 9999; const apiKey = crypto.randomBytes(32).toString('hex'); + const contact = req.body.contact || "Unknown"; // Validate all inputs exist if (!server || !port || !block_start) { res.status(400).json({ error: 'Bad Request' }); @@ -273,8 +274,8 @@ app.post('/api/v1/admin/route', (req, res) => { // Create a new route res.status(409).json({ error: 'Conflict' }); return; } else { - db.run('INSERT INTO routes (server, port, auth, secret, block_start, block_length, apiKey) VALUES (?, ?, ?, ?, ?, ?, ?)', - [server, port, auth, secret, block_start, block_length, apiKey], + db.run('INSERT INTO routes (server, port, auth, secret, block_start, block_length, apiKey, contact) VALUES (?, ?, ?, ?, ?, ?, ?, ?)', + [server, port, auth, secret, block_start, block_length, apiKey, contact], (err) => { if (err) { console.error('Error creating route:', err); @@ -311,8 +312,10 @@ app.put('/api/v1/admin/route/:id', (req, res) => { // Update a route const secret = req.body.secret || row.secret; const block_start = req.body.block_start || row.block_start; const block_length = req.body.block_length || row.block_length; - db.run('UPDATE routes SET server = ?, port = ?, auth = ?, secret = ?, block_start = ?, block_length = ? WHERE id = ?', - [server, port, auth, secret, block_start, block_length, req.params.id], + const contact = req.body.contact || row.contact; + console.log(`Updating ${req.params.id} to ${server}:${port} with ${auth}:${secret} for ${block_start} - ${block_start + block_length}. Contact: ${contact}`); + db.run('UPDATE routes SET server = ?, port = ?, auth = ?, secret = ?, block_start = ?, block_length = ?, contact = ? WHERE id = ?', + [server, port, auth, secret, block_start, block_length, contact, req.params.id], (err) => { if (err) { console.error('Error updating route:', err); diff --git a/migrations/007_add_contact_col_routes.sql b/migrations/007_add_contact_col_routes.sql new file mode 100644 index 0000000..46db618 --- /dev/null +++ b/migrations/007_add_contact_col_routes.sql @@ -0,0 +1,2 @@ +ALTER TABLE routes +ADD COLUMN contact TEXT; \ No newline at end of file diff --git a/public/assets/js/adminMain.js b/public/assets/js/adminMain.js index 6c66e63..7cb03de 100644 --- a/public/assets/js/adminMain.js +++ b/public/assets/js/adminMain.js @@ -45,6 +45,7 @@ function populateTable(routes) { ${route.secret || ''} ${route.block_start || ''} - ${route.block_start + route.block_length || ''} ${route.apiKey || ''} + ${route.contact || ''} diff --git a/views/admin/create.ejs b/views/admin/create.ejs index 5e5dac2..c0a6905 100644 --- a/views/admin/create.ejs +++ b/views/admin/create.ejs @@ -49,6 +49,10 @@ +
+ + +
Cancel diff --git a/views/admin/index.ejs b/views/admin/index.ejs index 6cc4b81..ca59eb9 100644 --- a/views/admin/index.ejs +++ b/views/admin/index.ejs @@ -33,6 +33,7 @@ IAX2 Secret Number Block API Key + Contact Actions