TuringsSolutions's picture
Update app.js
8793fa8 verified
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}`);
});