Initial commit
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
// server.js
|
||||
const express = require('express');
|
||||
const mysql = require('mysql2');
|
||||
const cors = require('cors');
|
||||
const bodyParser = require('body-parser');
|
||||
require('dotenv').config();
|
||||
|
||||
const app = express();
|
||||
app.use(cors());
|
||||
app.use(bodyParser.json());
|
||||
app.use(express.static(__dirname));
|
||||
|
||||
// Create MySQL connection
|
||||
const db = mysql.createConnection({
|
||||
host: process.env.DB_HOST || 'localhost',
|
||||
user: process.env.DB_USER || 'root',
|
||||
password: process.env.DB_PASSWORD || '',
|
||||
database: process.env.DB_NAME || 'spbu_gis',
|
||||
port: process.env.DB_PORT || 3306
|
||||
});
|
||||
|
||||
|
||||
db.connect(err => {
|
||||
if (err) {
|
||||
console.error('Database connection failed: ' + err.stack);
|
||||
return;
|
||||
}
|
||||
console.log('Connected to MySQL database.');
|
||||
});
|
||||
|
||||
// GET route to fetch all SPBU locations
|
||||
app.get('/api/spbus', (req, res) => {
|
||||
db.query('SELECT * FROM locations', (err, results) => {
|
||||
if (err) throw err;
|
||||
res.json(results);
|
||||
});
|
||||
});
|
||||
|
||||
// POST route to save a new SPBU location
|
||||
app.post('/api/spbus', (req, res) => {
|
||||
const { name, open_window, spbu_number, lat, lng } = req.body;
|
||||
|
||||
const query = 'INSERT INTO locations (name, open_window, spbu_number, lat, lng) VALUES (?, ?, ?, ?, ?)';
|
||||
db.query(query, [name, open_window, spbu_number, lat, lng], (err, result) => {
|
||||
if (err) throw err;
|
||||
res.json({ message: 'SPBU saved successfully!', id: result.insertId });
|
||||
});
|
||||
});
|
||||
|
||||
// PUT route to update an SPBU location
|
||||
app.put('/api/spbus/:id', (req, res) => {
|
||||
const { id } = req.params;
|
||||
const { name, open_window, spbu_number, lat, lng } = req.body;
|
||||
|
||||
const query = 'UPDATE locations SET name = ?, open_window = ?, spbu_number = ?, lat = ?, lng = ? WHERE id = ?';
|
||||
db.query(query, [name, open_window, spbu_number, lat, lng, id], (err, result) => {
|
||||
if (err) throw err;
|
||||
res.json({ message: 'SPBU updated successfully!' });
|
||||
});
|
||||
});
|
||||
|
||||
// DELETE route to delete an SPBU location
|
||||
app.delete('/api/spbus/:id', (req, res) => {
|
||||
const { id } = req.params;
|
||||
|
||||
const query = 'DELETE FROM locations WHERE id = ?';
|
||||
db.query(query, [id], (err, result) => {
|
||||
if (err) throw err;
|
||||
res.json({ message: 'SPBU deleted successfully!' });
|
||||
});
|
||||
});
|
||||
|
||||
// Start the server
|
||||
const PORT = process.env.PORT || 3000;
|
||||
app.listen(PORT, () => {
|
||||
console.log(`Server running on http://localhost:${PORT}`);
|
||||
});
|
||||
Reference in New Issue
Block a user