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}`); | |
| }); | |