chore: commit workspace changes

This commit is contained in:
nmemmert committed 2025-12-16 07:56:40 -05:00
1 parent 8bd9c6caf7
commit 71d1dbd5c1
2 files changed
+40 -24

No files matched your search

+7
View File
@@ -2,6 +2,8 @@ module.exports = {
apps: [{ apps: [{
name: 'resource-monitor', name: 'resource-monitor',
script: './server/index.js', script: './server/index.js',
// Force single forked instance to avoid port conflicts
exec_mode: 'fork',
instances: 1, instances: 1,
autorestart: true, autorestart: true,
watch: false, watch: false,
@@ -10,6 +12,11 @@ module.exports = {
NODE_ENV: 'production', NODE_ENV: 'production',
PORT: 3001, PORT: 3001,
TIMEZONE: 'America/New_York' TIMEZONE: 'America/New_York'
},
env_production: {
NODE_ENV: 'production',
PORT: 3001,
TIMEZONE: 'America/New_York'
} }
}] }]
}; };
+33 -24
View File
@@ -143,33 +143,42 @@ app.post('/api/resources', (req, res) => {
return res.status(400).json({ error: 'Name and URL are required' }); return res.status(400).json({ error: 'Name and URL are required' });
} }
const stmt = db.prepare(` try {
INSERT INTO resources (name, url, type, check_interval, timeout, group_id, http_keyword, http_headers, quiet_hours_start, quiet_hours_end, cert_expiry_days, sla_target, email_to, maintenance_mode) const stmt = db.prepare(`
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) INSERT INTO resources (name, url, type, check_interval, timeout, group_id, http_keyword, http_headers, quiet_hours_start, quiet_hours_end, cert_expiry_days, sla_target, email_to, maintenance_mode)
`); VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
`);
const result = stmt.run( const result = stmt.run(
name, name,
url, url,
type || 'http', type || 'http',
check_interval || 60000, check_interval || 60000,
timeout || 5000, timeout || 5000,
group_id || null, group_id || null,
http_keyword || null, http_keyword || null,
http_headers || null, http_headers || null,
quiet_hours_start || null, quiet_hours_start || null,
quiet_hours_end || null, quiet_hours_end || null,
cert_expiry_days || 30, cert_expiry_days || 30,
sla_target || 99.9, sla_target || 99.9,
email_to || null, email_to || null,
maintenance_mode ? 1 : 0 maintenance_mode ? 1 : 0
); );
// Invalidate related cache entries // Invalidate related cache entries
cache.invalidatePattern('history:'); cache.invalidatePattern('history:');
cache.invalidatePattern('sla:'); cache.invalidatePattern('sla:');
res.json({ id: result.lastInsertRowid, message: 'Resource created' }); res.json({ id: result.lastInsertRowid, message: 'Resource created' });
} catch (err) {
console.error('[API] Error creating resource:', err.message);
// Helpful hint if migration missing
const hint = err.message.includes('no column named maintenance_mode')
? 'Database schema missing maintenance_mode. Restart server to run migrations.'
: undefined;
res.status(500).json({ error: 'Failed to create resource', details: err.message, hint });
}
}); });
// Update resource // Update resource