Spaces:
Sleeping
Sleeping
const express = require('express'); | |
const { Client } = require('pg'); | |
const app = express(); | |
const port = 7860; | |
app.use(express.json()); | |
const connectWithRetry = () => { | |
const client = new Client({ | |
host: '192.168.1.19', // Use your host's IP address | |
user: 'your_local_db_user', | |
password: 'your_local_db_password', | |
database: 'your_local_db_name', | |
port: 5432, // Default PostgreSQL port | |
}); | |
client.connect(err => { | |
if (err) { | |
console.error('Failed to connect to database:', err); | |
setTimeout(connectWithRetry, 5000); // wait 5 seconds then retry connection | |
} else { | |
console.log('Connected to database'); | |
initializeRoutes(client); | |
} | |
}); | |
}; | |
const initializeRoutes = (client) => { | |
// Root route | |
app.get('/', (req, res) => { | |
res.send('Welcome to the application'); | |
}); | |
// Route to handle cases | |
app.post('/case', (req, res) => { | |
const { caseId, description } = req.body; | |
client.query('INSERT INTO cases (caseId, description) VALUES ($1, $2)', [caseId, description], (err, result) => { | |
if (err) { | |
res.status(500).send(err); | |
} else { | |
res.status(200).send('Case added'); | |
} | |
}); | |
}); | |
app.get('/case/:caseId', (req, res) => { | |
const caseId = req.params.caseId; | |
client.query('SELECT * FROM cases WHERE caseId = $1', [caseId], (err, result) => { | |
if (err) { | |
res.status(500).send(err); | |
} else { | |
res.status(200).json(result.rows); | |
} | |
}); | |
}); | |
// Route to handle questionnaires | |
app.post('/questionnaire', (req, res) => { | |
const { questionnaireId, responses } = req.body; | |
client.query('INSERT INTO questionnaires (questionnaireId, responses) VALUES ($1, $2)', [questionnaireId, responses], (err, result) => { | |
if (err) { | |
res.status(500).send(err); | |
} else { | |
res.status(200).send('Questionnaire added'); | |
} | |
}); | |
}); | |
app.get('/questionnaire/:questionnaireId', (req, res) => { | |
const questionnaireId = req.params.questionnaireId; | |
client.query('SELECT * FROM questionnaires WHERE questionnaireId = $1', [questionnaireId], (err, result) => { | |
if (err) { | |
res.status(500).send(err); | |
} else { | |
res.status(200).json(result.rows); | |
} | |
}); | |
}); | |
// Route to handle jury details | |
app.post('/jury', (req, res) => { | |
const { juryId, details } = req.body; | |
client.query('INSERT INTO jury (juryId, details) VALUES ($1, $2)', [juryId, details], (err, result) => { | |
if (err) { | |
res.status(500).send(err); | |
} else { | |
res.status(200).send('Jury details added'); | |
} | |
}); | |
}); | |
app.get('/jury/:juryId', (req, res) => { | |
const juryId = req.params.juryId; | |
client.query('SELECT * FROM jury WHERE juryId = $1', [juryId], (err, result) => { | |
if (err) { | |
res.status(500).send(err); | |
} else { | |
res.status(200).json(result.rows); | |
} | |
}); | |
}); | |
}; | |
connectWithRetry(); | |
app.listen(port, () => { | |
console.log(`App running on port ${port}`); | |
}); | |